Kali Linux
官网下载地址:www.kali.org
高频使用命令
Kali安装Docker
先确保Kali能正常联网,同时国内的话建议先换好国内源。
sudo apt update
sudo apt install -y docker.io # 安装
# 可选操作
sudo docker version # 检查安装版本
sudo systemctl enable docker --now # 设置开机启动
sudo usermod -aG docker $USER # 将当前用户($USER)添加到docker用户组中
Kali安装Docker Compose
因为Kali最新版目前都自带python2和python3环境,所以可以使用pip3安装Docker Compose
pip3 install docker-compose
docker-compose version # check version
也可以直接下载编译好的版本来用:
Docker常用命令
docker-compose的命令参考官方:https://docs.docker.com/compose/reference/build/
高频使用命令:
docker-compose build # 根据Dockerfile和docker-compose.yml下载镜像和构建容器环境
docker-compose up -d # 以守护进程模式运行加-d,启动docker-compose环境
docker-compose down # 删除环境恢复初始状态,连镜像都清了
docker ps # 查看运行的docker容器对象
docker ps -a # 查看所有docker容器对象
docker images # 查看所有镜像
docker rmi IMAGE_ID # 删除指定镜像
docker-compose命令的的一些其它用法docker ref
https://www.cnblogs.com/linjiqin/p/8849432.html
https://www.jianshu.com/p/658911a8cff3
docker-compose的使用步骤:
1、创建一个空目录
2、定义 Dockerfile,方便迁移到任何地方
3、编写 docker-compose.yml 文件
4、运行 docker-compose up 启动服务(如果没有先docker-compose build,此时会先build)
修改Docker镜像源为国内源
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
重启docker
sudo systemctl restart docker
msf的初始化操作
虽然直接执行msfconsole也可以使用metasploit进行渗透测试,但是因为这总情况下没有数据库配合,无法快速调用数据,也无法保存渗透测试过程中产生的数据,所以并不适合在真实环境中使用。 metasploit支持用PostgreSQL数据库存储数据,使用前需要做初始化操作。
# 1.配置PostgreSQL
# 检查 postgresql状态
systemctl status postgresql
# 启动 postgresql
systemctl start postgresql
# 2.初始化msfdb
└─# msfdb init
[+] Starting database
[+] Creating database user 'msf'
[+] Creating databases 'msf'
[+] Creating databases 'msf_test'
[+] Creating configuration file '/usr/share/metasploit-framework/config/database.yml'
[+] Creating initial database schema
数据库配置信息见:/usr/share/metasploit-framework/config/database.yml , 有 development production test 三种配置
cat /usr/share/metasploit-framework/config/database.yml
查看数据库状态
└─# msfdb status
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled)
Active: active (exited) since Wed 2022-04-20 22:05:30 EDT; 1 day 6h ago
Process: 14749 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 14749 (code=exited, status=0/SUCCESS)
CPU: 10ms
# 3.在msfconsole中链接数据库
db_status
> db_status
[*] Connected to msf. Connection type: postgresql.
> db_status
[*] postgresql selected, no connection
db_disconnect
> db_disconnect
Successfully disconnected from the data service: local_db_service.
db_connect
> db_connect msf:nn5lHAPlWBbtelGQwz1/cwaqxxxxxxxxxxI=@localhost:5432/msf_test
[*] Connected to Postgres data service: localhost/msf_test
db_connect -y /usr/share/metasploit-framework/config/database.yml
# msf导入nmap的扫描结果report.xml
> db_import /xxx/xxx/nmap_report.xml
# 导入成功的话可以通过services命令来验证是否已经导入扫描结果,查看数据库中的服务信息
> services
# 查看当前数据库中存储的主机信息
> hosts
如果之前配置过数据库,下次可以使用命令:msfdb run 来启动数据库
冷知识
下载ali Linux历史壁纸
sudo apt update && sudo apt -y install kali-wallpapers-legacy
Kali Purple Document
https://gitlab.com/kalilinux/kali-purple/documentation/-/wikis/home
Elastic stack installation
https://gitlab.com/kalilinux/kali-purple/documentation/-/blob/main/301_kali-purple/installation.txt?ref_type=heads
1.ARP探测内网存活主机
arp-scan -l
利用ARP探测内网存活主机IP和MAC。可结合grep使用。
常见问题处理集合
1. kali 2020 忘记密码
2. kali linux不同版本的默认密码
kali 2020.1 安装后很多用户还是直接使用之前的默认root账户
账户:root 密码:toor
但是最新的kali 2020.1 已经改变安全策略,默认的账户名和密码如下:
账户名:kali
密码:kali
如果想切换为root账户模式,建议使用以下命令操作
sudo su
然后输入默认密码kali就切换到root账户了
3. kali 2021.1 安装 pip和pip3
kali 2021.1默认安装python和python3,但是没有装pip,需要自己手动安装下,操作很简单。
一般来说,多是先装pip,再安装pip3。顺序反过来有没有问题我也不确定,你感兴趣可以试试。
pip2:
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
python get-pip.py
pip3:
apt-get python3-pip
4. 安装dirsearch
因为Kali 2021自带的dirbuster用户体验欠佳。所以还是找了个命令行工具(御剑官方貌似没Linux版本)。
dirsearch扫Web Path挺方便的,边扫描边出结果。不过非Kali自带,需要手动安装下。安装方式如下:
git clone https://github.com/maurosoria/dirsearch.git
cd dirsearch
pip3 install -r requirements.txt
python3 dirsearch.py -u <URL> -e <EXTENSIONS>
e.g.
python3 dirsearch.py -u http://10.0.8.188
python3 dirsearch.py -u http://10.0.4.154:27689/ ./db
其实主要还是看字典是否给力,字典放在 db/ 目录下
5. 安装dirmap
这个的字典很强,虽然已经很长时间没更新了,但是用起来也不错。扫描完成后统一出结果。支持,多ip扫路径。
git clone git@github.com:TesterCC/dirmap.git
or
git clone https://github.com/TesterCC/dirmap.git
pip3 install -r requirement.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
python3 dirmap.py -i http://10.0.4.154:27689/ -lcf
5. 设置系统禁止休眠
不知道是何原因,平时虚拟机开Kali2021待机黑屏后,第二天再来总是无法正常唤醒,故决定直接设置系统禁止休眠。
Settings 搜 Power Manager,设置如下:
6. kali开启snmp服务
# 安装相关包
sudo apt-get install snmpd snmp
安装完成后,编辑 /etc/snmp/snmpd.conf 配置文件来进行相关配置,例如设置community_name等。
配置文件样例(仅参考):
# 注释掉或移除以下行:
# com2sec notConfigUser default public
com2sec readonly default your_community_string
com2sec execute default your_community_string
group MyROGroup v1 readonly
group MyROGroup v2c readonly
group MyROGroup usm readonly
group MyRWGroup v1 execute
group MyRWGroup v2c execute
group MyRWGroup usm execute
view all included .1 80
access MyROGroup "" any noauth exact all none none
access MyRWGroup "" any noauth exact all all context
EXT:
community_name 的作用是用于对 SNMP 访问进行基本的身份验证和权限控制。具有正确 community_name 的请求才能获取或修改相应的管理信息。
一般使用时,客户端在发送 SNMP 请求时需要提供正确的 community_name 才能与服务器进行通信和获取数据。
# 启动snmpd
sudo systemctl start snmpd
# 设置自启动
sudo systemctl enable snmpd
ref: kali Linux部署SNMP服务
用Windows 10部署启动snmp服务,在kali上确认可通(即使Windows 10防火墙默认禁ping)
在kali上用Snmpwalk 命令测试 Windows 主机
snmpwalk -c public 192.168.80.128 -v 2c
其它安装问题:
centos7 安装pypcap: 主要是需要的包名和ubuntu不一致:
yum install update
# 按它的官方文档的话,应该是这2个包吧 ref: https://readthedocs.org/projects/pypcap/downloads/pdf/latest/
# 如果是python2 就是 python-devel 主要是ubuntu和centos的包名问题
yum install -y gcc libpcap-devel python3-devel
pip3 install pypcap