Created: January 10, 2022 10:34 AM
1. CVE-2021-42392
Reference: https://jfrog.com/blog/the-jndi-strikes-back-unauthenticated-rce-in-h2-database-console/
아파치 log4j(JNDI remote class loading)과 동일한 root cause를 가진 취약점이 H2 database console에서 발견되었다. H2는 java DBMS의 H2 Console를 사용하는 경우에 발생하는 취약점이다. Log4shell 취약점과 동일하게 jndi를 이용하여 코드를 실행시킬 수 있다.
- 기본적으로 H2 Console은 localhost 연결만 받아들이기 때문에 안전하지만, 원격 연결이 존재하는 서버라면 악용이 가능하다.
- H2 DBMS를 사용하더라도 H2 Console을 사용하지 않으면 취약하지 않다.
// https://github.com/h2database/h2database/blob/master/h2/src/main/org/h2/util/JdbcUtils.java
public static Connection getConnection(String driver, String url, String user, String password,
NetworkConnectionInfo networkConnectionInfo) throws SQLException {
...
} else if (javax.naming.Context.class.isAssignableFrom(d)) {
if (!url.startsWith("java:")) {
throw new SQLException("Only java scheme is supported for JNDI lookups", "08001");
}
// JNDI context
Context context = (Context) d.getDeclaredConstructor().newInstance();
DataSource ds = (DataSource) context.lookup(url);
if (StringUtils.isNullOrEmpty(user) && StringUtils.isNullOrEmpty(password)) {
return ds.getConnection();
}
return ds.getConnection(user, password);
}
} catch (Exception e) {
throw DbException.toSQLException(e);
}
// don't know, but maybe it loaded a JDBC Driver
}
return DriverManager.getConnection(url, user, password);
}
위 코드는 패치된 코드이다. url
이 java:
로 시작하는지 확인하여, 공격 구문을 필터링 한다. 검증 부분이 존재하지 않았을 때에는, input으로 들어온 url
이 context.lookup(url)
부분에서 실행이 되어, log4shell과 동일하게 악의적인 원격 코드를 실행시킬 수 있게 된다( ex: lda://attacker.com/exploit
)
취약한 버전은 1.1.100~2.0.204 버전까지이며, H2 DBMS를 2.0.206 이상 버전으로 업데이트 하면 취약점에 대한 방어가 가능하다.
2. 유출된 카카오톡 계정 악용한 대규모 로그인 시도 공격
Reference: https://www.boannews.com/media/view.asp?idx=103990
스틸러 악성코드에 감염된 PC로부터 카카오 관련 계정 7971건이 유출되고, 해당 데이터를 통해 크리덴셜 스터핑 공격이 수행되었다. 실제 활용 가능한 계정이 유출 건 중 3696건이었으며 유출된 계정을 통해 일괄적으로 로그인 시도를 하여 다수가 성공하였을 것으로 보인다.
2단계 인증 기능을 통해 이러한 공격을 예방할 수 있다.
'깔짝할짝' 카테고리의 다른 글
2022-01-12 Wed (0) | 2022.01.12 |
---|---|
2022-01-11 Tue (0) | 2022.01.11 |
2022-01-09 Sun (0) | 2022.01.10 |
2022-01-07 Fri (0) | 2022.01.07 |
2021-01-05 Wed (0) | 2022.01.05 |