Over a year with Kippo
UPDATE: After posting @ikoniaris of Honeydrive and Bruteforce fame recommended running these. Here are the results of kippo-stats.pl created by Tomasz Miklas and Miguel jacq.
As many of you know from previous posts, I am a big fan of honeypots, particularly Kippo. My main Kippo instance sitting in AWS has been online for over a year now. Let's take a look at what we have captured and learned over this past year. If you want to validate any of these statistics I have made the raw logs available for download.
General Stats:
Unique values (135526 connections):
*Map Generated with JCSOCAL's GIPC
Top 11 Countries
China: 699
United States: 654
Brazil: 76
Russian Federation: 69
Germany: 65
Korea, Republic of: 57
Romania: 56
Egypt: 52
Japan: 50
India: 41
Indonesia: 41
Unique Usernames: 8600 (Username list)
Unique Passwords: 75780 (wordlist)
Unique Sources: 1985 (list of IPs)
Passwords:
One of my favorite uses of kippo data is to generate wordlists from login attempts. I wrote a quick script to parse the kippo logs and pull out all passwords and unique them into a wordlist. Feel free to grab. Additionally I made the wordlists available for download.
Using Pipal I performed analysis of all the login attempts over this year:
Two items of note here are that over 60% of password attempts were 1-8 characters. 40% of attempts were for lowercase alpha characters only. The most used password was 123456. This is the default pass for Kippo.
If a user attempts to create an account or change the root password in a Kippo session those passwords are captured and added to the allowed credentials list. The following credentials were created:
root:0:albertinoalbert123root:0:fgashyeq77dhshfaroot:0:florian12euroot:0:hgd177q891999wwwwwe1.dONroot:0:iphone5root:0:kokotroot:0:noperoot:0:picvinaroot:0:scorpi123root:0:testroot:0:xiaozheroot:0:12345root:0:bnn318da9031kdamfaihheq1faroot:0:lsroot:0:neonhostt1root:0:wget123
Downloads:
20131030113401_http___198_2_192_204_22_disknyp20131103183232_http___61_132_227_111_8080_meimei20131104045744_http___198_2_192_204_22_disknyp20131114214017_http___www_unrealircd_com_downloads_Unreal3_2_8_1_tar_gz20131116130541_http___198_2_192_204_22_disknyp20131129165151_http___dl_dropboxusercontent_com_s_1bxj9ak8m1octmk_ktx_c20131129165438_http___dl_dropboxusercontent_com_s_66gpt66lvut4gdu_ktx20131202040921_http___198_2_192_204_22_disknyp20131207123419_http___packetstorm_wowhacker_com_DoS_juno_c20131216143108_http___www_psybnc_at_download_beta_psyBNC_2_3_2_7_tar_gz20131216143208_http___X_hackersoft_org_scanner_gosh_jpg20131216143226_http___download_microsoft_com_download_win2000platform_SP_SP3_NT5_EN_US_W2Ksp3_exe20131217163423_http___ha_ckers_org_slowloris_slowloris_pl20131217163456_http___www_lemarinel_net_perl20131222084315_http___maxhub_com_auto_bill_pipe_bot20140103142644_http___ftp_gnu_org_gnu_autoconf_autoconf_2_69_tar_gz20140109170001_http___sourceforge_net_projects_cpuminer_files_pooler_cpuminer_2_3_2_linux_x86_tar_gz20140120152204_http___111_39_43_54_5555_dos3220140122202342_http___layer1_cpanel_net_latest20140122202549_http___linux_duke_edu_projects_yum_download_2_0_yum_2_0_7_tar_gz20140122202751_http___www_ehcp_net_ehcp_latest_tgz20140201131804_http___www_suplementar_com_br_images_stories_goon_pooler_cpuminer_2_3_2_tar_gz20140201152307_http___nemo_rdsor_ro_darwin_jpg20140208081358_http___www_youtube_com_watch_v_6hVQs5ll06420140208184835_http___sharplase_ru_x_txt20140215141909_http___tenet_dl_sourceforge_net_project_cpuminer_pooler_cpuminer_2_3_2_tar_gz20140215142830_http___sourceforge_net_projects_cpuminer_files_pooler_cpuminer_2_3_2_tar_gz20140219072721_http___www_psybnc_at_download_beta_psyBNC_2_3_2_7_tar_gz20140328031725_http___dl_dropboxusercontent_com_u_133538399_multi_py20140409053322_http___www_c99php_com_shell_c99_rar20140409053728_http___github_com_downloads_orbweb_PHP_SHELL_WSO_wso2_5_1_php20140413130110_http___www_iphobos_com_hb_unixcod_rar20140416194008_http___linux_help_bugs3_com_Camel_mail_txt20140419143734_http___www_activestate_com_activeperl_downloads_thank_you_dl_http___downloads_activestate_com_ActivePerl_releases_5_18_2_1802_ActivePerl_5_18_2_1802_x86_64_linux_glibc_2_5_298023_tar_gz20140419144043_http___ha_ckers_org_slowloris_slowloris_pl20140420104056_http___downloads_metasploit_com_data_releases_archive_metasploit_4_9_2_linux_x64_installer_run20140420104325_http___nmap_org_dist_nmap_6_46_1_i386_rpm20140505073503_http___116_255_239_180_888_00720140505093229_http___119_148_161_25_805_sd3220140505111511_http___112_117_223_10_280_120140515091557_http___112_117_223_10_280__bash_6_phpmysql20140519193800_http___www_unrealircd_com_downloads_Unreal3_2_8_1_tar_gz20140523120411_http___lemonjuice_tk_netcat_sh20140610174516_http___59_63_183_193_280__etc_Test888820140614200901_http___kismetismy_name_ktx20140625032113_http___ftp_mirrorservice_org_sites_ftp_wiretapped_net_pub_security_packet_construction_netcat_gnu_netcat_netcat_0_7_1_tar_gz20140720005010_http___www_bl4ck_viper_persiangig_com_p8_localroots_2_6_x_cw7_3
TTY Replay Sessions:
AWSWeb:~# adduseradduser: Only one or two names allowed.AWSWeb:~# useraddadduser: Only one or two names allowed.AWSWeb:~# lsAWSWeb:~# pwdrootAWSWeb:~# cd /[1D[1P[1D[1P[1D[1P[1D[1Pcat /etc/passwdroot:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/bin/shbin:x:2:2:bin:/bin:/bin/shsys:x:3:3:sys:/dev:/bin/shsync:x:4:65534:sync:/bin:/bin/syncgames:x:5:60:games:/usr/games:/bin/shman:x:6:12:man:/var/cache/man:/bin/shlp:x:7:7:lp:/var/spool/lpd:/bin/shmail:x:8:8:mail:/var/mail:/bin/shnews:x:9:9:news:/var/spool/news:/bin/shuucp:x:10:10:uucp:/var/spool/uucp:/bin/shproxy:x:13:13:proxy:/bin:/bin/shwww-data:x:33:33:www-data:/var/www:/bin/shbackup:x:34:34:backup:/var/backups:/bin/shlist:x:38:38:Mailing List Manager:/var/list:/bin/shirc:x:39:39:ircd:/var/run/ircd:/bin/shgnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/shnobody:x:65534:65534:nobody:/nonexistent:/bin/shlibuuid:x:100:101::/var/lib/libuuid:/bin/shrichard:x:1000:1000:richard,,,:/home/richard:/bin/bashsshd:x:101:65534::/var/run/sshd:/usr/sbin/nologinAWSWeb:~# userbash: user: command not foundAWSWeb:~# adduser obzAdding user `obz' ...Adding new group `obz' (1001) ...Adding new user `obz' (1001) with group `obz' ...Creating home directory `/home/obz' ...Copying files from `/etc/skel' ...Password:Password again:Changing the user information for obzEnter the new value, or press ENTER for the defaultUsername []:Must enter a value!Username []: obzFull Name []: l[1D[1Padmin obzRoom Number []: 1Work Phone []: 1234567890Home Phone []:Must enter a value!Home Phone []: 0Mobile Phone []: 0Country []: cnCity []: xangLanguage []: mandFavorite movie []: 1Other []: 1Is the information correct? [Y/n] yERROR: Some of the information you entered is invalidDeleting user `obz' ...Deleting group `obz' (1001) ...Deleting home directory `/home/obz' ...Try again? [Y/n] yChanging the user information for obzEnter the new value, or press ENTER for the defaultUsername []: obxFull Name []: obx toorRoom Number []: 1Work Phone []: 1[1D[1P9089543121Home Phone []: 9089342135Mobile Phone []: 9089439012Country []: cnCity []: xangLanguage []: man[1D[1P[1D[1P[1D[1PenglishFavorite movie []: oneOther []: two[1D[1P[1D[1P[1D[1PfourIs the information correct? [Y/n] yERROR: Some of the information you entered is invalidDeleting user `obz' ...Deleting group `obz' (1001) ...Deleting home directory `/home/obz' ...Try again? [Y/n] nAWSWeb:~# cat adduser obz user cat /etc/passwdroot:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/bin/shbin:x:2:2:bin:/bin:/bin/shsys:x:3:3:sys:/dev:/bin/shsync:x:4:65534:sync:/bin:/bin/syncgames:x:5:60:games:/usr/games:/bin/shman:x:6:12:man:/var/cache/man:/bin/shlp:x:7:7:lp:/var/spool/lpd:/bin/shmail:x:8:8:mail:/var/mail:/bin/shnews:x:9:9:news:/var/spool/news:/bin/shuucp:x:10:10:uucp:/var/spool/uucp:/bin/shproxy:x:13:13:proxy:/bin:/bin/shwww-data:x:33:33:www-data:/var/www:/bin/shbackup:x:34:34:backup:/var/backups:/bin/shlist:x:38:38:Mailing List Manager:/var/list:/bin/shirc:x:39:39:ircd:/var/run/ircd:/bin/shgnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/shnobody:x:65534:65534:nobody:/nonexistent:/bin/shlibuuid:x:100:101::/var/lib/libuuid:/bin/shrichard:x:1000:1000:richard,,,:/home/richard:/bin/bashsshd:x:101:65534::/var/run/sshd:/usr/sbin/nologinAWSWeb:~# cat /etc/shadowcat: /etc/shadow: No such file or directoryAWSWeb:~# /etc/init.d\[1D[1P[1D[1PD/ssh startbash: /etc/init.D/ssh: command not foundAWSWeb:~# [K/etc/init.D/ssh start[1D[1D[1D[1D[1D[1D[1D[1D[1D[1D[1D[1Pdbash: /etc/init.d/ssh: command not foundAWSWeb:~#AWSWeb:~#AWSWeb:~#AWSWeb:~#AWSWeb:~#AWSWeb:~#AWSWeb:~#AWSWeb:~#AWSWeb:~#AWSWeb:~# exitcConnection to server closed.localhost:~# exitConnection to server closed.localhost:~# byebash: bye: command not foundlocalhost:~# exitConnection to server closed.localhost:~# adminbash: admin: command not foundlocalhost:~# sulocalhost:~# ls -ldrwxr-xr-x 1 root root 4096 2013-02-03 17:11 .drwxr-xr-x 1 root root 4096 2013-02-03 17:11 ..drwxr-xr-x 1 root root 4096 2009-11-06 11:16 .debtags-rw------- 1 root root 5515 2009-11-20 09:08 .viminfodrwx------ 1 root root 4096 2009-11-06 11:13 .aptitude-rw-r--r-- 1 root root 140 2009-11-06 11:09 .profile-rw-r--r-- 1 root root 412 2009-11-06 11:09 .bashrclocalhost:~# pwd/rootlocalhost:~# cd /localhost:/# ls -ldrwxr-xr-x 1 root root 4096 2013-02-03 17:11 .drwxr-xr-x 1 root root 4096 2013-02-03 17:11 ..drwxr-xr-x 1 root root 0 2009-11-20 08:19 sysdrwxr-xr-x 1 root root 4096 2009-11-08 15:42 bindrwxr-xr-x 1 root root 4096 2009-11-06 11:08 mntdrwxr-xr-x 1 root root 4096 2009-11-06 11:08 medialrwxrwxrwx 1 root root 25 2009-11-06 11:16 vmlinuz -> /boot/vmlinuz-2.6.26-2-686drwxr-xr-x 1 root root 4096 2009-11-06 11:09 optlrwxrwxrwx 1 root root 11 2009-11-06 11:08 cdrom -> /media/cdrom0drwxr-xr-x 1 root root 4096 2009-11-06 11:08 selinuxdrwxrwxrwx 1 root root 4096 2009-11-20 08:19 tmpdr-xr-xr-x 1 root root 0 2009-11-20 08:19 procdrwxr-xr-x 1 root root 4096 2009-11-08 15:41 sbindrwxr-xr-x 1 root root 4096 2009-11-20 08:20 etcdrwxr-xr-x 1 root root 3200 2009-11-20 08:20 devdrwxr-xr-x 1 root root 4096 2009-11-06 11:09 srvlrwxrwxrwx 1 root root 28 2009-11-06 11:16 initrd.img -> /boot/initrd.img-2.6.26-2-686drwxr-xr-x 1 root root 4096 2009-11-08 15:46 libdrwxr-xr-x 1 root root 4096 2009-11-06 11:22 homedrwxr-xr-x 1 root root 4096 2009-11-06 11:09 vardrwxr-xr-x 1 root root 4096 2009-11-08 15:46 usrdrwxr-xr-x 1 root root 4096 2009-11-08 15:39 bootdrwxr-xr-x 1 root root 4096 2009-11-20 09:08 rootdrwx------ 1 root root 16384 2009-11-06 11:08 lost+foundlocalhost:/# cd /homelocalhost:/home# ls -lldrwxr-xr-x 1 root root 4096 2013-02-03 17:11 .drwxr-xr-x 1 root root 4096 2013-02-03 17:11 ..drwxr-xr-x 1 1000 1000 4096 2009-11-06 11:22 richardlocalhost:/home# exitConnection to server closed.localhost:~#localhost:~#localhost:~#localhost:~#localhost:~#localhost:~#localhost:~# ssh -D root@http://60.250.65.112/ 1337The authenticity of host '60.250.65.112 (60.250.65.112)' can't be established.RSA key fingerprint is 9d:30:97:8a:9e:48:0d:de:04:8d:76:3a:7b:4b:30:f8.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added '60.250.65.112' (RSA) to the list of known hosts.root@60.250.65.112's password:Linux localhost 2.6.26-2-686 #1 SMP Wed Nov 4 20:45:37 UTC 2009 i686Last login: Sat Feb 2 07:07:11 2013 from 192.168.9.4localhost:~# uname -aLinux localhost 2.6.24-2-generic #1 SMP Thu Dec 20 17:36:12 GMT 2007 i686 GNU/Linuxlocalhost:~# pwd/rootlocalhost:~# cd /localhost:/# ls -ldrwxr-xr-x 1 root root 4096 2013-02-03 17:19 .drwxr-xr-x 1 root root 4096 2013-02-03 17:19 ..drwxr-xr-x 1 root root 0 2009-11-20 08:19 sysdrwxr-xr-x 1 root root 4096 2009-11-08 15:42 bindrwxr-xr-x 1 root root 4096 2009-11-06 11:08 mntdrwxr-xr-x 1 root root 4096 2009-11-06 11:08 medialrwxrwxrwx 1 root root 25 2009-11-06 11:16 vmlinuz -> /boot/vmlinuz-2.6.26-2-686drwxr-xr-x 1 root root 4096 2009-11-06 11:09 optlrwxrwxrwx 1 root root 11 2009-11-06 11:08 cdrom -> /media/cdrom0drwxr-xr-x 1 root root 4096 2009-11-06 11:08 selinuxdrwxrwxrwx 1 root root 4096 2009-11-20 08:19 tmpdr-xr-xr-x 1 root root 0 2009-11-20 08:19 procdrwxr-xr-x 1 root root 4096 2009-11-08 15:41 sbindrwxr-xr-x 1 root root 4096 2009-11-20 08:20 etcdrwxr-xr-x 1 root root 3200 2009-11-20 08:20 devdrwxr-xr-x 1 root root 4096 2009-11-06 11:09 srvlrwxrwxrwx 1 root root 28 2009-11-06 11:16 initrd.img -> /boot/initrd.img-2.6.26-2-686drwxr-xr-x 1 root root 4096 2009-11-08 15:46 libdrwxr-xr-x 1 root root 4096 2009-11-06 11:22 homedrwxr-xr-x 1 root root 4096 2009-11-06 11:09 vardrwxr-xr-x 1 root root 4096 2009-11-08 15:46 usrdrwxr-xr-x 1 root root 4096 2009-11-08 15:39 bootdrwxr-xr-x 1 root root 4096 2009-11-20 09:08 rootdrwx------ 1 root root 16384 2009-11-06 11:08 lost+foundlocalhost:/# cd /rootlocalhost:~# ls -lldrwxr-xr-x 1 root root 4096 2013-02-03 17:19 .drwxr-xr-x 1 root root 4096 2013-02-03 17:19 ..drwxr-xr-x 1 root root 4096 2009-11-06 11:16 .debtags-rw------- 1 root root 5515 2009-11-20 09:08 .viminfodrwx------ 1 root root 4096 2009-11-06 11:13 .aptitude-rw-r--r-- 1 root root 140 2009-11-06 11:09 .profile-rw-r--r-- 1 root root 412 2009-11-06 11:09 .bashrclocalhost:~# cd /ho[1D[1P[1D[1P[1D[1P[1D[1P[1D[1P[1D[1Pcd /home/localhost:/home# ls -ldrwxr-xr-x 1 root root 4096 2013-02-03 17:20 .drwxr-xr-x 1 root root 4096 2013-02-03 17:20 ..drwxr-xr-x 1 1000 1000 4096 2009-11-06 11:22 richardlocalhost:/home# exitConnection to server closed.localhost:~# exitConnection to server closed.localhost:~#
Conclusion:
After a year with Kippo, I have learned a lot about what these basic attackers do when connecting to seemingly open ssh hosts. There is plenty more to learn though. I have some plans on building out a larger honeypot infrastructure, and automating some of the data collection and parsing. Additionally I would like to spend more time analyzing the sessions and malware for further trends. I'll keep you all posted!
*Big thanks to Bruteforce Labs for their tools and expertise in honeypots.
Reader Comments (1)
Hi,
Nice catches. I run a couple of kippo instances and I am soon to begin running a number of hosts with vulnerable web applications, both old with vulnerabilities and newer with easily guessable passwords. I want to capture and generate statistics about the general anatomy of these hacks. I have quite interesting ideas to sort of combat these hacks using defense mechanism (while leaving the vulnerable applications in place), those fights if you like will most likely yield interesting results and knowledge.
If you would like to discuss a potential collaboration contact me.
Best regards