渗透测试之Linux基础(新手必看)

常用命令

系统

uname -a 					# 查看内核/操作系统/CPU信息

head -n 1 /etc/issue 		# 查看操作系统版本

cat /proc/cpuinfo			# 查看CPU信息

hostname 					# 查看计算机名

env 						# 查看环境变量

dmidecode 					#查看硬件详细信息

资源

free -m 	# 查看内存使用量和交换区使用量

df -h 		# 查看各分区使用情况

du -sh 		# 查看指定目录的大小

uptime 		# 查看系统运行时间、用户数、负载

网络

ifconfig 			# 查看所有网络接口的属性

iptables -L 		# 查看防火墙设置

route -n 			# 查看路由表

netstat -lntp 		# 查看所有监听端口

netstat -antp 		# 查看所有已经建立的连接

netstat -s 			# 查看网络统计信息

lsof    		    #查看网络信息

进程

ps -ef 		# 查看所有进程

top 		# 实时显示进程状态

用户

w 							# 查看活动用户

id 							# 查看指定用户信息

last 						# 查看用户登录日志

finger root 				#查看管理信息

cut -d: -f1 /etc/passwd 	# 查看系统所有用户

cut -d: -f1 /etc/group 		# 查看系统所有组

crontab -l 					# 查看当前用户的计划任务

服务

chkconfig --list 				# 列出所有系统服务

chkconfig --list | grep on 		# 列出所有启动的系统服务

程序(配置yum源

rpm -qa 				# 查看所有安装的软件包
rpm -ivh 				# 安装rpm包
rpm -e					# 卸载rpm包
yum -y install man		# 从yum源安装man命令,自动查找安装依赖关系(这个挺好用的)
yum -y remove man		# 卸载man命令

渗透常用

uname -r 					# 查看系统内核版本号
hostname 					# 查看主机名
cat/proc/cpuinfo 			# 查看CPU信息
ifconfig 					# 查看当前接口IP
halt 						# 关机
reboot 						# 重启
pwd 						# 查看当前路径
cp 							# 拷贝文件
find [范围] [查找条件]  		# 查找文件
gzip -9 a.sql a.gz			# 把a.sql高度压缩成a.gz
gzip -d a.gz				# 解压缩
tar -cvf c.tar a b			# 把文件a与b打包成c.tar
tar -zxvf c.tar				# 解压c.tar到当前目录
useradd						# 添加用户
userdel						# 删除用户
passwd 用户名				# 修改指定用户的密码

常用的命令太多了,推荐大家去看一下《Linux就该这么学》,上面挺全的。

vi的使用

常用命令

:set nu		//显示行号
a,A,o,O,i,I			//插入文本
/passwd		//在文本中查找passwd(从光标向下),按n检索下一个
?passwd		//在文本中查找passwd(从光标向上),按n检索下一个
dd			//删除整行
3dd			//一次性删除3行
yy			//复制整行
p			//粘贴整行
:			//进入底行模式
:%s/a/bg	//把a全部替换成b
u			//撤销操作
e!			//恢复到打开文本的最初状态
:wq!		//强制(!)保存(w)退出(q)

登陆密码破解

这个其实就是进单用户模式,我这里的环境是RHEL7.0。

选择内核的时候按e
在这里插入图片描述
进去之后,在这个linux16下一行的ro这里修改,改为rw init=/sysroot/bin/sh,然后按ctrl+x即可:
在这里插入图片描述
然后依次执行以下命令:

chroot /sysroot/
passwd
touch /.

在这里插入图片描述
执行完以后,连按ctrl+d直至出现loginout
在这里插入图片描述
reboot重启即可,这时密码已经修改了,很容易崩,改的时候先拍快照吧

目录结构

在这里插入图片描述

/bin
用来存放普通用户的可执行文件

/boot
用来存储系统装载引导程序

/dev
各种存储介质

/etc
这个比较重要,系统的配置文件、一些服务的配置文件等等

/home
普通用户的家目录,相当于Windows的用户目录
 
/lib
静态库,一些函数库

/media
主要用于挂载光驱

/opt
第三方程序的安装目录

/proc
随系统开机生成一些配置文件

/root
管理员的家目录

/sbin
用于存放管理员的命令

/srv、/sys、/tmp
存放程序的临时配置文件

/usr
用于储存第三方的外部程序的目录比如user/bin、user/local

/var
这个也很重要,用于存储系统库还有系统日志比如/var/log、/var/www/html

网络配置

ifconfig eth0 192.168.1.105/24		//临时修改网卡eth0的IP地址为192.168.1.105
ifconfig eth0 up/down				//开启/关闭接口eth0
service network restart 			//重启网络服务
ifconfig eno16777736:1 IP地址		//创建一个逻辑接口并配上IP
vi /etc/sysconfig/network-scripts/ifcfg-eth0		//手动配置网络

权限设置

这个为什么单独拿出来写呢,因为这个命令在加固的时候很有用,这就是chmod命令

首先我们得会看目录权限,就是ls -alh输出的内容:
在这里插入图片描述

就拿x.tar这个文件来说吧

-rw-r--r--.  1 root  root   10K 4月  13 21:02 x.tar
首先第一个-代表这是一个文件,不是一个目录,目录是以d开头的,文件夹前的日期就是最后一次修改日期,前面的10k就是
文件大小,中间的1代表的是文件节点。

其次,两个root,左边的是文件的所有者,右边的是文件所在的分组,也就是说这个文件是由root组下的root用户创建的。

最后,前边的这串 rw-r--r-- 是什么意思呢,这个要三个三个的看,第一个rw-代表文件所有者对它的权限,第二个r--代
表所有组对它的权限,第三个r--代表其他人对它的权限。

这里的r(读)w(写)x(执行)分别对应数字4、2、1,-代表没有权限,这里这个文件的权限就是644。

那么现在假设要加固我们的Web目录应该怎么写,最安全的办法就是大家都有只读权限,没有写跟执行权限,我们可以这么去执行命令:

chmod 444 /var/www/html/* 		#/var/www/html下所有文件权限改为只读(4)

效果:
在这里插入图片描述

还可以更改文件所有者,用chown命令

chown admin /var/www/html/*

效果:
在这里插入图片描述

发布了69 篇原创文章 · 获赞 81 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43573676/article/details/105490669