Общее·количество·просмотров·страницы

четверг, 19 января 2012 г.

dll export

навоял не большую прогу для определения функций экспортируемых длл-кой
скачать http://splashed.ucoz.ru/DLL_export.rar
Как узнать сколько флагов имеет функция?
Берем дизасм (иду,дасм)-дизассемблим dll ищем в листинге имя функции полученное в проге,смотрим сколько идет push-eй перед call- ом. это и есть кол-во аргументов.
как узнать возвращаемое значение?
проделываем тоже самое,после вызова функции идет retn.простой пример:
retn 4
значит возврат в хексе 4\dword=1 если функция выполняется успешно-возвращаемое значение 1 (или не 0)

воскресенье, 15 января 2012 г.

email spoofing

Всем здрасте!Сегодня хочу написать о подмене email отправителя.
И так с места в карьер, и я сразу начну.

Инструменты:
1)ЯП (у меня Delphi)
2)Сниффер( у меня httpanalyzer)
3)Музончик по желанию.

И так что же такое email spoofing- это и есть подмена адреса отправителя.
Как можно подменить адрес отправителя?
Я знаю не так уж много вариантов.Я не имею ввиду написать в поле «от» поддельный эмэил, т.к.при нажатии на сообщение мы увидим настоящее мыло.нет

1)open relay

Суть заключается в том чтобы найти в сети open relay.
Open relay это почтовый сервер в сети, который позволяет любому желающему переправлять через себя почту То есть, это почтовый сервер, используя который кто угодно может отправить электронную почту от произвольного отправителя произвольному получателю.Обычно юзаются спамерами.
Возникают релеи как правило из-за криворукости сис-админов,которые раз-два клацнули и якобы почтовый сервак готов.Получается за таким серваком будет охотиться не только спамер,но и те кто борется с релеями,что равносильно тому что все известные и не известные почтовики перестанут принимать от вас почту.
Значит все сводится к поиску open relay.пару тройку лет назад такие баги были даже у yahoo,но теперь найти открытый релеи практически невозможно.Суть будет заключаться в том что вам придется искать\граббить сотни тысяч smtp серверов,а потом еще дольше чекать их на релеи.В итоге найдя релеи,начать спамить,и серв просто занесут в блэк.
2)Не проверял работает ли сейчас,но раньше было.Суть в том что надо регнутся на почте и через telnet зная ESMTP протокол залогиниться , используя при этом base64 encoder и отправить, от левакового адреса.Однако, это не дает полной конфиденциальности и если есть пимпа типа «информация о письме» то там выдастся ваше мыло.

3)Сервисы в нете.Вот это нам и надо.Я нашел несколько таких
сервисов.Естесно как и все минуса-это плата.на одних она больше,на других меньше , среди всех я выбрал hoaxmail.(это ни в коем случае не есть реклама)
Рега на сервисе быстрая и бесплатная.В день дается 5 бесплатных отсылок.В месяц, чтобы избавиться от ограничения,надо уплатить ~200 рублей, согласитесь сумма довольно скромная.Когда я писал клиент,я не заметил ни капч,ни прочего при отсылке.Разослалось на все 5 аккаунтов на сервисы: mail.ru, gmail.com, yandex.ru,qip.ru,yahoo.com.
Для тех кто знает что можно делать,я думаю стоит зарегаться и купить доступ.
А теперь собсно к кодингу.
И так мы зарегались.Берем сниффер и гоу.
И так я сделал две формы:
1-авотриз
2-сам интерфейс


интерфейс:



Обработчик авторизации
Код:
{http=tidhttp,data=tstringlist,cm=cookiemanager} procedure TForm1.Button1Click(Sender: TObject); begin try Http := TIdHTTP.Create(Self); Data := TStringList.Create; CM := TidCookieManager.Create(Http); Http.AllowCookies := true; Http.CookieManager := CM; Http.HandleRedirects := true; Http.Request.UserAgent:='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10'; Http.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'; Http.Request.AcceptLanguage:='ru,en-us;q=0.7,en;q=0.3'; Http.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.7'; data.Add('username='+form1.Edit1.Text); data.add ('password='+form1.Edit2.Text); data.Add('remember=on'); data.Add('submitbutton=Log In'); StrPage := Http.Post('http://www.hoaxmail.co.uk/usersystem/login_check.php', data); finally data.Free; end; if Pos(edit1.Text,StrPage) <> 0 then begin form1.hide; ShowMessage('Авторизация успешна!); form2.Show; end else ShowMessage('Авторизация не удалась!); end;


Тут я думаю код понятен.Создаем tidhttp, cookie manager, и стринглист.Настраиваем http.(указываем юзерагент и проч)
Авторизуемся пост запросом.и проверяем, если в коде страницы присутствует наш логин- выдаем сообщение о успешной авторизации,иначе о провале.
при этом если авторизация успешна,то форма скрывается и появляется наш интерфейс.

Я тут не все доработал,но расскажу все сейчас детально.
При закрытии формы

Код:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin application.Terminate; end;


т.к. 1-я форма скрыта.

на радиобаттонах,чтобы юзвер не накосячил
Код:
procedure TForm2.RadioButton1Click(Sender: TObject); begin if radiobutton1.Checked=true then speedbutton1.Enabled:=false; edit1.Enabled:=true; end;


Код:
procedure TForm2.RadioButton2Click(Sender: TObject); begin if radiobutton2.Checked=true then edit1.Enabled:=false; speedbutton1.Enabled:=true; end;


Код:
procedure TForm2.FormCreate(Sender: TObject); begin radiobutton1.Checked:=true; end;


Ну и сама отсылка.Я подумал сделать из акков и отдельно от мыла.
но т.к. там всего 5 отсылов то с акками не стал заморачиваться.а принцип с акками легок и прост.Т.к. мы работаем со стринглистом то делаем банальный цикл:
Код:
txt:=tstringlist.Create; txt.LoadFromFile(filename);// указывается через opendialog для удобства. for i:=0 to txt.Count-1 do // список с 0 индекса,не забываем.

ну и заполняем стринглист.
обратно отправляем мыло и смотрим в сниффер:

Код:
try dat:=tstringlist.create; begin dat.Add('to_email_1='+edit1.Text); dat.add('used_extra=false'); dat.Add('from_name='+edit3.Text); dat.Add('from_email='+edit4.text); dat.Add('subject='+edit5.Text); dat.Add('body='+memo1.Text); dat.Add('footer=EF1'); dat.Add('used_timedelay=false'); dat.Add('receive_reply=on'); dat.Add('submitbutton=Send'); Str:=http.Post('http://www.hoaxmail.co.uk/email/process.php?type=&action=&ref=&editor=basic',dat); end; finally Dat.Free; CM.Free; Http.Free; end; if Pos('Successful',Str) <> 0 then ShowMessage('ОТОСЛАНО! ') else ShowMessage('НЕ отослано!);


Вот собсно и все.Не оч сложный код,но работает на ура.как будет средство,возьму там доступ,поспамлю.
Вот че получаем:


Еще один минус что я заметил,это не разрешается отправка с правительственными доменами (gov,mil),но я думаю спамер+грамотная речь=профит!.
Всем спасибо за внимание.Прошу не кидаться гнилыми помидорами.

суббота, 14 января 2012 г.

понедельник, 9 января 2012 г.

Перерывал тут папку со всякой фигней и наткнулся на сорец.Открыв его я вспомнил,что это было решение квадратного уравнения на встроенном ассемблере.Решил запостить в блог(все равно за него рассчитались),вдруг каким то несчастным студентам пригодится:)
Условие:
ур-ие забивается сразу.Ввод целых чисел (без проверки на ввод с плавающей точкой).Не юзать сопроцессор.


{na primere uravneniya x^2-11x+30}
program Project2;
uses
  windows;
   var i:integer;
{$APPTYPE CONSOLE}

function sqrt(x: cardinal): integer;
asm
  bsr edx, eax      // skaniruem bity
  jz @exit

  mov ecx, edx    // 1-y bit v ecx
  test ecx, 1       // bit

  jz @even   // esli net prodolzim
  @odd:

    shr ecx, 1
    inc ecx
    shr eax, cl
    mov edx, 1
    shl edx, cl
    shr edx, 1
    add eax, edx

    mov edx, $B504F334  // magicheskoe chislo 2^32=sqrt(2)
    mul edx
    mov eax, edx

    ret
  @even:

    shr ecx, 1
    inc ecx
    shr eax, cl
    mov edx, 1
    shl edx, cl
    shr edx, 2
    add eax, edx

  @exit:
end;


var x1,x2:dword;
a,b,d,e,r,j,h:dword;
g:integer;
begin
writeln('vvedite koef pir 1-x');
readln(a);
writeln('vvedite pri 2-x');
readln(b);
writeln('vvedite 3-y koef');
readln(e);
asm
mov eax,b  //kof v registr
mul b      // vozvodim v kvadrat
mov r,eax   // kvadrat zapishem v peremenuu
mov eax,4
mul a // 4*a*c
mul e

sub r,eax  // tut znachenie b*b -4 * a * c   =1
mov eax,r // v eax 1
mov h,eax  // v h eax

{sqrt(1)=1 -funkciya ne shitaet}

xor edx,edx
mov eax,b
neg eax
add eax,1
mov ecx,2
div ecx
mov x1,eax //x1

xor edx,edx
mov eax,b
neg eax
sub eax,1
mov ecx,2
div ecx
mov x2,eax

end;
writeln('x1=',x1,' ','x2=',x2);

readln;
end.


суббота, 7 января 2012 г.

Накатал не большую длл. удаляет файл методом Гутмана.
скачать http://splashed.ucoz.ru/Erase.dll
Как вызывать:
импортируем по имени Erase.
Процедура имеет один флаг fn:string; имя удаляемого файла.
Про статическую или динамическую подгрузку  можно найти в сети.

пятница, 6 января 2012 г.

Интересную задачку сегодня разгадали с ачатовцами.
И так суть:

1)ZmFrZSB2a29ibWVuIHpoZQ== декриптуй
2)Прибавьте через пробел к ответу слово silverwolf
3)Зашифруйте строку тем же криптоалгоритмом
4)Теперь ответ в ctsw
5)Убери все пробелы из шифра
6)Сократи текст до 7 символов
7)10 смени на 5
8)Теперь прибавь к строке самый первый шифр
9)Ах да, теперь в 5dm
10)И добавь к ответу 97 символ в ascii
11)К ответу добавь амперсанду
12)Теперь добавь функцию сложения масивов
13)Теперь прибавь название эзотерического языка, подсказка: одно из двух
14)А теперь прибавьте сокращенное англоязычное название идентификатора сессии
15)Ну и день когда был куплен домен thesilverwolf.ru(число)

Решение:
Совместными усилиями задача была решена и так по порядку


1)ZmFrZSB2a29ibWVuIHpoZQ==
это кодировка base64. при расшифровке получаем:


2)получаем строку
fake vkobmen zhe silverwolf
3)шифруем base64 получаем ZmFrZSB2a29ibWVuIHpoZSBzaWx2ZXJ3b2xm
4)на сайте автора http://thesilverwolf.ru/cryptos.html
шифруем эту строку получаем 9X 10T 7X 11A 9X 8F 6Z 5X 9P 5X 5P 10M 9E 8P 8Z 11P 7F 7S 11S 11Q 9X 8F 6Z 12S 9P 8P 12X 5X 9X 8E 7A 5Q 9E 5X 12X 10T
5)получаем 9X10T7X11A9X8F6Z5X9P5X5P10M9E8P8Z11P7F7S11S11Q9X8F 6Z12S9P8P12X5X9X8E7A5Q9E5X12X10T
6)получаем 9X10T7X
7)получаем 9X5T7X
8)получаем 9X5T7XZmFrZSB2a29ibWVuIHpoZQ==
9)шифруем в md5 получаем 2C7CFB14C00A0FE32DE4AEDB8B6C5402
10) ascii 97=a, получаем 2C7CFB14C00A0FE32DE4AEDB8B6C5402a
11)амперсанд- & имеем 2C7CFB14C00A0FE32DE4AEDB8B6C5402a&
12)функция сложения массивов (как оказалось) join
13)эзотерический язык- false
14) идентификатор сессии session id-> sid
15) идем на любой whois? вгоняем сайт получаем 17 января 2011
и того:2c7cfb14c00a0fe32de4aedb8b6c5402a&joinfalsesid17

Учитесь ребята:)

вторник, 3 января 2012 г.


конвертор текста.
пока есть:
urlencode\decode
hex-text\text-hex
text-base64\base64-text
предлагайте для универсальности что еще добавить.сам еще склоняюсь к md5 и sha.
http://splashed.ucoz.ru/Tconvert.rar

+ text to MD5
+ rus to lat