Sunday, October 30, 2016

[Linux,Security] Dirty Cow - CVE-2016-5195 "Race Condition Privilege Escalation (SUID)"


Melanjutkan postingan sebelum nya yaitu Dirty Cow - CVE-2016-5195 "Race Condition Privilege Escalation (Write Access)" , selanjutnya mengenai akses user biasa, bisa masuk ke akses root dengan file cowroot.c yang sudah tersedia di website dirtycow.ninja.

[Linux,Security] Dirty Cow - CVE-2016-5195 "Race Condition Privilege Escalation (Write Access)"

Beberapa waktu yang lalu, mungkin sangat mengejutkan untuk para linux user mendapatkan informasi sebuah “bug” ataupun celah pada sistem operasi tersebut, yaitu Dirty CowInformasi celah yang bisa digunakan untuk melakukan exploitasi dari akses unprivilleged ke akses root dengan metode copy-on-write pada kernel sistem operasi linux sehingga bisa disingkat menjadi cow.

Monday, April 25, 2016

[Python] Pycrypto: Python Cryptography Toolkit - Crypto.Cipher

Encryption Algorithms, menggunakan input string dan key untuk menghasilkan ciphertext. Chipertext memiliki 2 type antara lain Block Cipher dan Stream, untuk Block Ciphers bekerja pada ukuran 8 atau 16 byte, sedangkan stream ciphers bekerja pada bit-by-bit.

[Python] Pycrypto: Python Cryptography Toolkit - Crypto.Hash

Pycrypto atau Python Cryptography toolkit, merupakan sebuah modul untuk fungsi kriptograpi pada python. Dari sumber developer pycrypto, module ini memiliki berbagai fungsi enkripsi seperti hash functions yang terdiri dari SHA256, RIPEMD160 dan berbagai algoritma enkripsi seperti AES,DES, RSA dan E1Gamal dan lain - lainya.

Cypto.Hash: Hash Functions
Fungsi hash atau algoritma hash mengambil sebuah strings sebagai input dan menghasilkan fixed-length string berdasarkan input, bisa dikatakan output string disebut nilai hash. Nilai hash dari fungsi hash memiliki panjang yang tetap(digest length) misalkan 128-bit untuk MD2,MD4,MD5,RIPEMD 160-bits dan SHA160-bits. Berikut contoh penggunaan pycrypto.

[Python] Informasi Service dari Port dan Network Protocol

Penggunaan socket.getservbyport(), untuk memberikan nama service, ketika kita menampilkan port yang diberikan.


#!/usr/bin/python2.7
#simpan dengan nama service.py
import socket

def find_service_name():
    list_port=[22,23,25,80,21,53,110,123,137,138,139,194,220]
    for port in list_port:
        print "Port: %s => service name %s" %(port, socket.getservbyport(port,'tcp'))

if __name__ == '__main__':
    find_service_name()


Pada socket.getservbyport(port,'tcp'), didefinisikan untuk port (22,23,25,80,21,53,110,123,137,138,139,194,220) dengan jenis port yaitu protokol tcp


$ python service.py 
Port: 22 => service name ssh
Port: 23 => service name telnet
Port: 25 => service name smtp
Port: 80 => service name http
Port: 21 => service name ftp
Port: 53 => service name domain
Port: 110 => service name pop3
Port: 123 => service name ntp
Port: 137 => service name netbios-ns
Port: 138 => service name netbios-dgm
Port: 139 => service name netbios-ssn
Port: 194 => service name irc
Port: 220 => service name imap3

Sunday, April 17, 2016

[Python] Mengetahui IP dari Sebuah Domain

Suatu alamat domain website,kadang kita perlu mengetahui berapakah alamat IP-nya, sebagai contoh untuk meng-lookup sebuah domain dengan library dari socket yaitu socket.gethostbyname(). untuk contoh pada kasus ini, kita ingin melihat alamat IP dari domain "google.com" sebagai remote hostname



#!/usr/bin/python2.7
#penggunaan fungsi socket.gethostbyname() untuk memberikan alamat ip hostname
#simpan dengan nama remote_domain.py

import socket

def main():

    domain= "google.com"
    print "Domain %s alamat ip nya %s " %(domain, socket.gethostbyname(domain))

if __name__ == '__main__':
    main()


$ python remote_domain.py
Domain google.com alamat ip nya 202.70.50.17

setelah di eksekusi (terhubung ke jaringan internet), socket.gethostbyname(domain) memberikan alamat IP dari domain "google.com" yaitu 202.70.50.17