渗透用自查

本文最后更新于:6 个月前

计网基础知识

子网掩码:一个ip地址由32位二进制数组成,子网掩码划分了ip的网络地址和主机地址

1
192.16.1.1/2424代表子网掩码中网络地址占24位,即225.225.225.0,最后8位是主机地址

Linux

常用网络命令

常用命令 参数说明 功能
netstat -tupln t(TCP),u(UDP),p(PID),l(监听),n(显示数字格式的地址和端口号,而不是尝试反解析为域名和服务名) 在 Linux 中显示对应了进程ID(PID)的网络端口。
watch ss -tupls t(TCP),u(UDP),p(PID),l(监听),s(显示摘要信息),需要指定时间用-nwatch -n 5 ss -tupls 以一定的时间间隔(默认为2秒)显示当前系统中的网络连接状态。
lsof -i lsof -i:1111也可查看指定端口的情况 显示当前系统上的所有网络连接信息
ifconfig eth0 192.168.2.1/24 eth0 :网络接口的名称;192.168.2.1:配置的ip地址;/24:配置的子网掩码 在Linux设置网络接口eth0的ip地址和子网掩码
ifconfig eth0:1 192.168.2.3/24 在 Linux 中向现有的网络接口添加 IP 地址并分配ip和子网掩码 在 Linux 中向现有的网络接口添加 IP 地址
dig -x 192.168.1.1 -x IP 地址的反向解析 对 IP 地址进行反向查找,返回该 IP 地址的域名(如果有的话)
host 192.168.1.1 在一个 IP 地址上进行反向查找,适用于没有安装 dig 的情况
ip addr add 192.168.2.22/24 dev eth0 向 Linux 添加一个隐藏的 IP 地址,在执行 ifconfig 命令时不会显示这个 IP 地址
ip addr show eth0 显示所有的ip配置
tcpkill -9 host 192.168.1.100 and port 80 阻止从主机访问某地址
nslookup example.com DNS解析
nslookup 192.168.1.1 查主机名

常用系统命令

常用命令 参数说明 功能
ls -l <filename> 查看文件的权限以及所有者和所属组
whoami 显示 Linux 上当前已登录的用户
id 显示当前已登录的用户和组
last 显示最后一次登陆的用户
mount 显示已挂载的驱动
df -h 显示磁盘使用情况
getent passwd 等同于cat /etc/passwd,列出 Linux 上的用户
strings /etc/passwd 显示非文本文件的内容,例如:一个二进制文件里面有什么
uname -ar 显示运行中的内核版本
lsb_release -a 显示发行版
PATH=$PATH:/my/new-path 添加一个新的环境变量,方便进行本地文件系统(FS)操作
history 显示用户在之前执行的 bash 脚本历史记录,还有敲入的命令
cat /etc/debian_version 显示 Debian系发行版版本号
cat /etc/*-release 显示 Debian系发行版版本号
dpkg -l 在基于 Debian的 Linux 发行版上列出所有已安装的包
cat /dev/null > ~/.bash_history 清空bash记录

用户管理

常用命令 参数说明 功能
useradd new-user 创建一个新的 Linux 用户
passwd username 重置 Linux 用户密码, 如果你是 root 用户,只要输入密码就行了
deluser username 删除一个 Linux 用户

权限

每三个字符一组,分别代表:

<文件所有者><所属组用户><其他用户>的权限

每个字符及其数字表示的含义:

  • 读权限(r):值为 4
  • 写权限(w):值为 2
  • 执行权限(x):值为 1

短横线代表未授权权限

Windows

常用网络命令

常用命令 参数说明 功能
nbtstat -A x.x.x.x 用于查询指定 IP 地址的 NetBIOS 名称信息

端口转发

Windows

添加规则

1
netsh interface portproxy add v4tov4 listenport=本地端口 listenaddress=本地IP connectport=目标端口 connectaddress=目标IP
  • listenport是本地要监听的端口
  • listenaddress是本地要监听的地址(可以是0.0.0.0表示所有地址)
  • connectport是要连接的目标端口
  • connectaddress是要连接的目标地址

查看所有添加的规则

1
netsh interface portproxy show all

删除规则

1
netsh interface portproxy delete v4tov4 listenport=本地端口 listenaddress=本地IP

Linux

使用socat工具进行转发

1
Linux:socat TCP-LISTEN:8888,fork TCP:远程服务器IP:9999

这个命令的意思是,socat会监听本地8888端口上的TCP连接,并将所有传入的连接转发到远程服务器的9999端口上。fork选项表示每个连接都会被socat处理,而不是只处理第一个连接然后退出。

如果需要UDP转发,可以使用UDP-LISTENUDP参数,而不是TCP-LISTENTCP

socat并没有内建的命令来显示当前的转发规则。当你使用socat命令创建端口转发时,它仅会在当前会话中生效,而不会保留到系统重启后,所以不用手动删痕