满天星
Fork me on GitHub

渗透测试学习笔记03-06(6)-linux之vi与网络协议相关命令

vi是一个较大的unix命令,在启动的时候也有它自己的选项和参数
基本语法:
    vi [-options] [+[n]] [file]
常用选项有:-r , -R
    -r用于恢复系统突然崩溃时正在编辑的文件
    -R用于以只读方式打开文件
    +n用来指明进入vi后直接位于文件的第n行,如果不指定n,则位于最后一行

# cp /etc/resolv.conf ss
# cat ss
# vi +3 ss    --光标停在第3行
# vi ss        --光标停在第1行
必须用一些命令来操作
命令模式
按dd        --删除本行
按D        --删除从光标到行尾
按p        --就粘贴回来
按i        --在光标前面插入
按A        --在行尾插入
按R        --在行首插入
按o        --在下一行插入
按O        --在上一行插入
按u        --返回上一步操作
按22 + dd    --删除22行        --
插入模式    
按a        --进入插入模式
按ESC        --退回原始模式
就可以编辑了
按ESC+shift+;    --进入底行模式
(输入一些字符命令进行操作)
输入q+回车    --退出模式(q+!)(强制退出)
输入wq        --保存并退出
输入w        --保存

文本插入:
在命令方式下使用某些命令会导致vi马上进入文本插入方式,这些命令包括:i,I,a,A,o,O等
在这种方式下用户的任何输入都被当做是文件的内容看待,并将其显示在屏幕上
a:在光标后附加文本
A:在本行行末附加文本
i:在光标前插入文本
I:在本行开始插入文本
o:在光标下插入新行
O:在光标上插入新行

搜索和替换:
/string      --向前搜索指定字符串,搜索时忽略大小写:set ic
n      --搜索指定字符串的下一个出现位置
:%s/old/new/g    --全文替换字符串
:n1,n2s/old/new/g    --在一定范围内替换指定字符串

按shift+:
输入set nu    --显示行号
/内容+回车    --搜索"内容"
按n    --向下搜索
?内容    --向上搜索
按n    --向上搜索

:%s/old内容/new内容/g    --全文替换
:1,5s/old内容/new内容/g    --1,5行替换

重复前一命令:.
取消上一命令:u
退出vi:行方式下使用q,行命令x相当于:wq命令.在命令方式下使用命令ZZ等效于:x命令
如果由于读写权限或是更新方面的问题,导致vi拒绝执行保存文件或退出vi的命令,那么可以在命令后加一个!号表示强制执行

cat命令:
    cat    --显示出文件的全部内容
    -n    --给输出的所有行加上编号
    cat 1 2 > 3    --合并文件
    将文件1和2合并到3,如cat 1 2 3...>n

# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:x代表影子密码,密码放在其他位置:UID号0基本代表管理员:GID号(组id)
:所在分组名称(家目录) /bin/bash:所使用的shell,bin下或bash下都能登录这个终端
像sbin,nologin是不能登录终端的.

密码存放位置:
# cat /etc/shadow
!! 代表没有密码        有密码的就MD5加密了

用which命令查看cat命令在哪一目录下
# which cat
/bin/cat    --普通用户都能用

# cat -n ss
# date        --显示日期
# date > 1    --将date信息导入到1
# cat 1
# cat 1 ss 
# cat 1 ss > 2
# cat 2

wc 统计文件中的单次数量 字节数 行数
-l 统计行数
-w 统计单词数
-c 统计字符数
wc sdxh.txt 会出现 2 4 26
    2是行数    4是单词数 26是字符数
history查看历史命令

# wc -l ss

归档和压缩命令 gzip bzip2
    (多个文件归成1个文件)
    只针对单个文件压缩或
    -9 显示高压缩比
    -d 释放压缩文件
    gzip 文件名 压缩文件 格式为后缀有.gz
    bzip2 文件名 压缩成的文件名 格式为 文件名.bz2 它相对于gzip压缩率更高

# ls -lh
# gzip install.log install.log.gz
(或者高压缩)
# gzip -9 install.log install.log.gz
# ls -lh
# gzip -d install.log.gz
# ls -lh
# bzip2 install.log install.log.bz2
# ls -lh

tar(归档命令)(释放归档文件)(没有压缩功能)
格式 tar 选项 归档文件名 源文件或目录
-c 创建归档文件 扩展名为.tar
-v 输出详细信息 
-f 表示使用归档文件 如 -cvf 创建归档文件
tar -cvf 4.tar 1 2 3 将文件1 2 3 打包归档为4.tar
tar -xvf 4.tar    --解包归档文件4.tar    --xvf 解包归档文件
-x 解开归档文件 
-t 列表查看包内的文件
tar -tvf 4.tar -r --追加TAR文件至归档结尾
tar -rvf 4.tar 5  --把5加入4.tar
-p    --解包时保留原始文件及目录的权限
-C    --解包时指定释放的目录文件夹
-z    --调用gzip程序,进行解压或压缩 -j 调用bzip2 程序进行压缩或解压
tar -cvzf test.tar.gz --被压缩的文件1 被压缩的文件2 创建归档压缩文件 后缀为gz
tar -cvjf test.tar.bz2 被压缩的文件1 被压缩的文件2 创建归档压缩文件 后缀为bz2
tar -xvzf test.tar.gz -C /usr/src 解压释放归档到 /usr/src里面
tar -xvjf test.tar.bz2 -C /usr/src 解压释放到归档到 /usr/src里面

# tar -cvf 3.tar 1 2 ss
-cvf创建一个归档  归档名为3.tar 将 1 2 ss归档到一起
(先归档再压缩)
# gzip 3.tar 3.tar.gz
# ll
# rm -rf 1 2 ss
# tar zxvf 3.tar.gz    (归档的文件一般用tar解压)
# ll
# tar jxvf 4.tar.bz2    (用jxvf解压bz2,用zxvf解压gz)

安装,升级,卸载RPM软件包 2-1
安装或升级RPM软件
    格式:rpm [选项] RPM包文件
    用法:不同选项适用于不同情况
        -i:安装一个新的rpm软件包
        -U:升级某个rpm软件,若原本未装,则进行安装
        -F:更新某个rpm软件,若原本未装,则放弃安装
卸载指定的RPM软件
    格式:rpm -e 软件名
辅助选项
    --force:强制安装所指定的rpm软件包
    --nodeps:安装,升级或卸载软件时,忽略依赖关系
    -h:以"#"号显示安装的进度
    -v:显示安装过程中的详细信息

RPM软件包封装的,需要安装RPM
# cd /media
# cd VMware\ Tools/
# ls
# tar zxvf VMwareTools-9-9.2-2496486.tar.gz -C /root/
# cd
# ls
# cd vmare-tools-distrib/
(./    --代指运行)
(# ll  文件末尾要有-x,才是有权限  有权限才能添加)
# ./ vmware-install.pl

# chmod 644 vmware-install.pl
失去权限
# ./vmware-install.pl
# chmod 755 vmware-install.pl
添加权限

-rwxr-xr-x.
rwx    用户权限
r-x    分组权限
每一个权限加起来是7
rwx
421
rwxrwxrwx
777
rwxr-x--x
751
# chmod u-w vmware-install.pl    u:所有者,g:组,o:其他人 -w 失去w功能

安装要装载CD
# umount /dev/sr0    --先卸载一下
# mount /dev/sr0 /media
# ls /media
# ls /media/Packages/
# ls /media/Packages/ >12
# wc -l 12
安装man软件(# rpm -ivh /media/Packages/man-1.6....rpm)
# cd /media
# cd Packages/
# rpm -ivh man-1.6f...rpm
# man ls

# rpm -e man    --卸载man
# clear
查看已安装软件
# rpm -qa
# rpm -qa man    --查看有没有安装man
# rpm -qi man    --查看详细信息
# rpm -ql man    --查看安装目录

第二种方法:
编译安装过程
    下载源代码安装包文件
    源代码:1.tar.gz 2.自带安装程序 3.编译配置才能安装的
    步骤1:tar解包
    步骤2:./configure配置
    用途:设置安装目录,安装模块等选项
    步骤3:make编译
    用途:生成可执行的二进制文件
    步骤4:make install安装
    用途:复制二进制文件到系统,配置应用环境    --测试及应用,维护软件
首选安装方法:
依赖关系的软件安装:
# yum -y install firefox    --安装一些软件    
# vi /etc/yum.repos.d/rhel-source.repo    --通过vi编辑它

区分:firefox的就可以直接安装,make的需要配置,

修改的地方:
[rhel-source-beta]
底行模式:
.,$d
.:光标所在行
,:到
$:最后
d:删除
[rhel-source]
enabled=0->enabled=1
按r再按1    --替换
baseurl=f->按D,之后的全部删除
按a
baseurl=file:///media/Server    --路径
复制gpgkey里面的->/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
wq
导入秘钥
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
# yum -y install firefox
必须指定位置,yum才能安装成功

apt-get        --kali安装方法,需要保证联网
apt-get install xxx.

dpkg
dpkg -i xx
dpkg -l
dpkg -r xx

添加用户账号:
    useradd命令:
    格式:useradd [选项]... 用户名
    常用命令选项:
    -u:指定UID标记号
    -d:指定宿主目录,缺省为 /home/用户名
    -e:指定账号失效时间
    -g:指定用户的基本组名(或UID号)
    -G:指定用户的附加组名(或GID号)
    -M:不为用户建立并初始化宿主目录
    -s:指定用户的登录shell
<!--
# yum -y remove man    --卸载
-->
# useradd cracer
# ls /home
# su - cracer    --切换用户
# passwd cracer --更改密码
123
123

用户添加示例:
指定mike的基本组为mike,并加入到ftpuser组;指定主目录为/ftphome/mike;不允许mike通过本地登录服务器
[root@localhost~]# useradd -d /ftphome/mike -g mike -G ftpuser -s /sbin/nologin mike
--对应的基本组,附加组必须存在

删除用户账号--userdel
userdel命令:
格式:userdel [-r] 用户名
添加 -r 选项时,表示连用户的宿主目录一并删除
[root@localhost~]# useradd stu01
[root@localhost~]# ls -ld /home/stu01/
drwx-----2 stu01 stu01 4096 09-09 12:38 /home/stu01/
[root@localhost~]# userdel -r stu01    --加-r会把家目录也删除
[root@localhost~]# ls -ld /home/stu01/
ls:/home/stu01/:没有那个文件或目录

Linux系统网路配置:
查看网络接口信息--ifconfig
查看所有活动网络接口的信息
执行ifconfig命令
查看指定网络接口信息
格式:ifconfig 网络接口名
    [root@localhost~]# ifconfig eth0    --eth0:代指网卡名,自己写
    eth0 Link encap:Ethernet HWaddr 00:0C:29:57:8B:DO
    inet addr:192.168.4.11 Boast:192.168.4.255 Mask:255.255.255.0
    ......

网卡类型:
名称    类型
eth0    以太网
lo    (虚拟)回环设备
ppp0    使用PPP协议打的串口设备(通常指调制解调器)
tr0    令牌环(Token Ring)
fddi0    光纤

查看主机名称--hostname
    hostname命令
    查看或设置当前主机名;
    格式:hostname

查看路由表条目---route
    route命令
    查看或设置主机中路由表信息
    格式:route [-n]
    # route -n

查看网络连接情况--netstat
    netstat命令
    查看系统的网络连接状态,路由表,接口统计等信息
    格式:netstat [选项]
    常用选项:
    -a:显示所有活动连接
    -n:以数字形式显示
    -p:显示进程信息
    -t:查看TCP协议相关信息
    -u:查看UDP协议相关信息
    -r:显示路由表信息

# netstat -anpt | grep:21

设置路由记录---route
删除路由表中的默认网关记录
格式:route del default gw IP地址
向路由表中添加默认网关记录
格式:route add default gw IP地址
添加到指定网段的路由记录
格式:route add -net 网段地址/24 gw IP地址
删除到指定网段的路由记录
格式:route del -net 网段地址

网络接口配置文件
/etc/sysconfig/network-scripts/目录下的
ifcfg-eth0:第1块以太网卡的配置文件
ifcfg-eth1:第2块以太网卡的配置文件
...
# ls /etc/sysconfig/network-scripts/ifcfg-*
# ls /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes    --
BOOTPROTO=static
IPADDR=192.168.4.1    --IP    
NETMASK=255.255.255.0    --子网掩码
GATEWAY=192.168.4.2    --网关

静态改IP(改东西必须用vi命令)
# vi /etc/sysconfig/network-scripts/ifcfg-eth0

启用,禁用网络接口配置
    重启network网络服务
    # service network restart
    正在关闭接口 eth0:    [确定]
    关闭环回接口:        [确定]
    弹出环回接口:        [确定]
    弹出界面eth0:        [确定]
    禁用,启用网络接口
    # ifdown eth0
    # ifup eth0

域名解析配置文件
/etc/resolv.conf文件
用途:保存本机需要使用的DNS服务器的IP地址
# vi /etc/resolv.conf
search localdomain
nameserver 202.106.0.20        --DNS的IP地址

实战:
linux安装apache,搭建网站,....
(需要安装5个软件包)
(可以直接安装多个软件包)
# yum -y install httpd php mysql mysql-server php-mysql
(httpd:代表apache)
(mysql-server:mysql服务器)
(php-mysql:两者连接的软件)
->
给网站权限
# ls /var/www/html/
启动服务
# service httpd start
# service mysqld start
设置mysql密码
# mysqladmin -uroot password 123456
登录mysql
# mysql -uroot -p123456
mysql> show databases
mysql> use mysql;
mysql> select * from admin;
mysql> show tables;
mysql> select * from user;
退出
mysql> quit;
访问192.168.80.140
访问不到
将防火墙配置到最低,将防火墙策略清空
# iptables -F
复制测试平台->var->www->html->复制过去

[root@cracer var]# chown -R root www
改权限,递归改
apache是程序用户,安装完成之后自动添加
[root@cracer var]# chown -R apache www
复制测试平台->var->www->html->复制过去
login->admin+回车
修改数据库->
jian root 123456
查找网站漏洞->
http://192.168.80.138/article.php?id=5
http://192.168.80.138/article.php?id=5 and 1=1
(此测试网站已被审计改过)
手动修改成有漏洞的网站->
[www]# cd html/
[html]# vi article.php
删除if(id==''){};这一条
在下一个if里面找
WHERE id='".#_REQUEST['id']."',#db  --将" "删除
http://192.168.80.138/article.php?id=5 and 1=1
如果网站没有变化,则说明有漏洞
->把1改成2 测试
注入->
复制http://192.168.80.138/article.php?id=5 and 1=1
到Pangolin
->将木马cc(2).php放入到网站,改名为cc.php
http://192.168.80.138/cc.php
提权->
先将防火墙关闭
win_cmd->nc.exe -l -n -v -p 12666    --12666是端口
在网站木马执行命令:
uname -r    --查看内核版本
exp->linux->3.2->2.6.32.c复制
或者直接在网站木马上传    上面输入/tmp/,选择文件,上传
win->
cd tmp
gcc 2.6.32.c
找a.out  (xxx.out文件)
->执行a.out
a.out
-------------本文结束期待您的评论-------------