modul keamanan komputer triawan
DESCRIPTION
Modul Keamanan KomputerTRANSCRIPT
![Page 1: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/1.jpg)
![Page 2: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/2.jpg)
0
1
2
3
4
5
6
7
8
TableofContentsKataPengantar
Bab1-Dasar-dasarPenggunaanWireshark
Bab2-TutorialMenggunakanWireshark
Bab3-SniffingPadaJaringanKabeldanNirkabel
Bab4-BekerjaDenganDataHasilTangkapan
Bab5-PingdanPortScanning
Bab6-PengenalanPython
Bab7-SniffingMenggunakanPython
Bab8-PengenalanAnalisaMalware
HandoutKeamananKomputer
2
![Page 3: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/3.jpg)
ModulPraktikumKeamananKomputerAlhamdulilah,wasyukurilah,wallailahaillallah,AllahAkbar.TerimakasihyangtakterhinggasayaucapkankepadaAllahSWT,atasnikmat,kesehatandansemangatjuangyangdiberikankepadasaya,sehinggadapatmenyelesaikanmoduluntukmatakuliahkeamanankomputer.
Tentusajainiadalahpengalamansayamenulismodulsendiri,karenapadapraktikumtahunsebelumnyatidakadamatakuliahini.Karenasayatertarikdenganbidangkeamanankomputer,makasayamencobamenyisihkanwaktuuntukmenulis.
Materimodulkeamanankomputeriniterdiridaripengenalanpaketdata,penggunaanwireshark,pengenalanpython,pemrogramanpythonuntukmendukungkeamanankomputer,pengenalananalisamalware,dasar-dasarreverseengineeringdanlatihan.
Semogadenganterselesaikannyamodulini,dapatmembawamanfaatdanmembawailmupengetahuanbagisiapasajayangmembaca.
Jember,November2015
Salam
Penulis
HandoutKeamananKomputer
3KataPengantar
![Page 4: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/4.jpg)
Dasar-dasarPenggunaanWiresharkPadapertemuanpertama,sayainginmenjelaskanfungsidarisoftware/perangkatlunakWireshark.Wiresharkmerupakanperangkatlunakyangspesifikuntukmelakukananalisapaketdatapadajaringansecararealtimedanmenampilkanhasilanalisapaketdatatersebutdalamformatyangdipahamiolehpengguna.Wiresharkdapatmelakukanpaketfiltering,paketcolorcoding,danfitur-fiturlainyangdapatmengizinkanuntukmelihatdetailnetworktrafficdaninspeksipaketdatasecaraindividu.
ToolsUntukmengunduhsoftwarewireshark,Andadapatmengunjungialamatwebsiteofficialwiresharkdihttp://www.wireshark.org/download.html.WiresharkdapatdigunakanpadasistemoperasiWindows,MacOSX,danLinux.
KapanMenggunakanWiresharkAdabanyakhalyangdilakukanmenggunakanwireshark.Berikutinimerupakancontohkasusyangmungkindibutuhkantoolswireshark:
1. Melakukantroubleshootpermasalahanjaringan2. Melakukanpengujianmasalahkeamanan3. Melakukandebuggingimplementasiprotokol4. BelajarprotokoljaringanWiresharkinidapatkitasebutsebagaitoolsyangpowerfull,karenadenganmenggunakantoolsini,kitabisasajadapatmenggunakannyauntukmencuriinformasiyangsensitifpadajaringan,sepertipassword,cookie,danlainsebagainya.
FiturWiresharkmempunyaifituryanglengkap,diantaranyaadalah:
1. Multiplatform-Dapatdigunakanuntukbeberapaplatformsistemoperasi(Unix,Mac,Windows,danLinux)
2. Dapatmelakukancapturepaketdatajaringansecararealtime3. Dapatmenampilkaninformasiprotokoljaringandaripaketdatasecaralengkap
HandoutKeamananKomputer
4Bab1-Dasar-dasarPenggunaanWireshark
![Page 5: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/5.jpg)
4. Paketdatadapatdisimpanmenjadifiledannantinyadapatdibukakembaliuntukanalisislebihlanjut
5. Filteringpaketdatajaringan6. Pencarianpaketdatadengankriteriaspesifik7. Pewarnaantampilanpaketdatauntukmempermudahanalisapaketdata8. MenampilkandatastatistikUntukmelakukancapturepaketdatayangkeluarataupunmasukpadajaringan,wiresharkmemerlukanperangkatfisikNIC(NetworkInterfaceCard).
ProtokolWiresharkdapatmelakukananalisisterhadapbeberapaprotokolpaketdatajaringan.Sampaiwiresharkversi1.12.6,sudahmendukung1482protokol,sepertiterlihatpadagambardibawahini:
Gambar1.1ProtokolYangDisupportWireshark
Padagambar1.1diatas,wiresharksudahmendukung1482protokol,tentunyajumlahprotokolyangdidukungwiresharkakanbertambahlagipadatiapversinya.
PengawasanDataSecaraRealTime
HandoutKeamananKomputer
5Bab1-Dasar-dasarPenggunaanWireshark
![Page 6: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/6.jpg)
Wiresharkdapatmenganalisispaketdatasecararealtime.Artinya,aplikasiwiresharkakanmengawasisemuapaketdatayangkeluarmasukmelaluiantarmukayangtelahditentukandanselanjutnyaakanmenampilkanhasilpaketdatanya.Contohaplikasiwiresharkyangsedangmelakukanpengawasandapatdilihatpadagambar2,berikutini:
Gambar1.2TampilanDataRealTimeWireshark
Jikakomputerkitaterhubungdenganjaringankecepatantinggidanpadakomputersedangdijalankanbanyakaplikasiberbasisjaringan,aplikasiwiresharkakanmenampilkanbanyaksekalipaketdata.
TugasPraktikumSilakanAndalakukanujicobapenggunaanWiresharkuntukmelakukancapturepaketdata,kemudiankumpulkanhasilnyaberupadokumentasigambar/screenshotdandisertaiketerangannya.
HandoutKeamananKomputer
6Bab1-Dasar-dasarPenggunaanWireshark
![Page 7: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/7.jpg)
TutorialMenggunakanWiresharkPadabagiankeduaini,sayainginmelakukandokumentasibeberapafungsipenggunaanwiresharkuntukmelakukansniffing,baikpadajaringankabelmaupunnirkabel.
MelakukanSniffingApabilasudahselesaimenginstallwireshark,kitadapatlangsungmelakukansniffingterhadappaketdatayangkitacapturedariwireshark.Caracapturedatapakaiwiresharktausemuakan?hehehe.Untukmelakukansniffing,pastikankomputeryangakandigunakansudahterhubungdenganjaringanyangakandi-sniff.Caranepiyeom?Berikutinimerupakanlangkah-langkahuntukmelakukansniffingdenganwireshark.
1. Jalankanwireshark
2. KlikmenucapturedanpilihInterfacesepertiyangterlihatpadagambarberikut.
Gambar2.1-MenuCaptureWireshark
3. Setelahmenuinterfacediklik,makaakanadakotakdialogwiresharksepertipadagambar2.2dibawahini:
Gambar2.2-InterfaceAktif
4. Kotakdialogpadagambar2.2diperolehdaridaftarantarmukajaringanyangdimiliki.Kolompaketakanbernilaisuatubilangantertentu,haltersebutmenunjukkanadanyapaketdatayangmasuk
5. Pilihinterfaceyangmempunyaipaketjaringanyangmasukatauaktif
HandoutKeamananKomputer
7Bab2-TutorialMenggunakanWireshark
![Page 8: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/8.jpg)
6. Selainitu,kitajugadapatmelakukankonfigurasidenganmengkliktomboloptionspadakotakdialogwireshark:CaptureInterfaces
7. Setelahmengkliktomboloptions,makaakantampilsepertigambar2.3berikutini:
Gambar2.3-CaptureOptions
8. Pastikanpadamenucaptureoptionstersebut,bagian"Capturepacketsinpromiscuousmode"sudahtercentang.
9. KitajugadapatmenentukanfiledanlokasinyadengankliktombolbrowsepadabagianCaptureFile.
10. KlikStart
11. Wiresharkakanmelakukansniffingsesuaidengankonfigurasiyangdilakukan
12. Prosespengambilanpaketdatainiakanberlangsungsecararealtime
13. Semakinlamamelakukansniffing,semakinbesarfileyangakandihasilkan
HandoutKeamananKomputer
8Bab2-TutorialMenggunakanWireshark
![Page 9: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/9.jpg)
14. Contohprosessniffingpadawiresharksecararealtimesepertipadagambar2.4berikutini:
Gambar2.4-SniffingDenganWireshark
15. Untukmenghentikanprosessniffing,klikiconadapterjaringanyangberwarnamerah,letaknyanomorempatdarikiri.
16. Untukmenyimpanpaketdatayangsudahdicapturesecararealtime,klikmenuFile->SaveAs
17. Tulisnamafilenya,kemudiankliktombolsaveuntukmenyimpanfilehasilcapture.Filenyaseharusnyaberekstensi.pcap
HakAksesSniffingPadabeberapakasussniffingdengansistemoperasikadangdibatasi.Olehkarenaitu,untukmelakukansniffingdenganwiresharkalangkahbaiknyadijalankandenganmemperolehpermissionleveltertinggi(root)atauadministrator.Apabilapadalinuxcukupdenganmemanggilperintahberikut:
sudowireshark
SementarapadaOSwindows,dapatmelakukandengancaraklikkananprogramwiresharkkemudianpilih"runasadministrator"
TugasPraktikum
HandoutKeamananKomputer
9Bab2-TutorialMenggunakanWireshark
![Page 10: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/10.jpg)
1. Setelahdapatmenggunakanwiresharkdanpahamtentangfungsi-fungsidasarwireshark,silakanAndacapturepaketdatakemudiansimpandalambentukfile.pcap,masing-masingpaketdataharusberbedadaripunyatemennya.
2. Buatlahlaporandokumentasidarihasilpaketdatayangdisimpantersebut,danberikanketeranganapayangdapatAndapahamidaripaketdataitu.
HandoutKeamananKomputer
10Bab2-TutorialMenggunakanWireshark
![Page 11: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/11.jpg)
SniffingPadaJaringanKabeldanNirkabelUntukmelakukansniffingdalamwaktuyanglama,penggunaanguiwiresharktidakdirekomendasikankarenaterlalubanyakpenggunaansumberdaya.Sebagaipenggantinya,Andadapatmenggunakansoftwaretsharkdandumpcap.ApabilaAndamenggunakanlinuxsepertibacktrackataukalilinux,softwaretersebutsudahtersedia,jaditidakperlumelakukaninstalasi.
MelakukanSniffingPadaJaringanKabel
TeknikTappingMerupakanteknikyangdigunakanuntukmelakukansniffingsecaraefektifsehinggadataatauinformasipaketdatayangdiperolehhanyasesuaidenganyangdiinginkan.Tentunyadengantekniktappinginiakanmeminimalisirpaketdatayangluasdanbanyak.Berikutiniterdapatilustrasijaringankomputersederhana:
Gambar3.1-SkenarioSniffing
HandoutKeamananKomputer
11Bab3-SniffingPadaJaringanKabeldanNirkabel
![Page 12: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/12.jpg)
Padagambar3.1terlihatbahwaadatigaorangpenggunayaitubob,alicedaneve.Skenariojaringanyangterdapatpadagambar3.1merupakangambaranbobdanaliceyangsedangberkomunikasimelaluijaringaninternet.Evemerupakanpihakketigayangtidakdiketahuiolehbobmaupunalice.EvemelakukansniffingkeNICmilikbob,sehinggapaketdatayangdikirimolehbobdapatterbacaolehevemenggunakanwireshark.
Berdasarkangambartersebut,makapenempatanmesinyangnantinyaakandi-sniffingmerupakanpermasalahanutama,karenamesinyangakandi-sniffingharusmempunyaipaketdatamasukdankeluaragardapatdipastikannantinyamemperolehdatayangdapatdianalisa.
TappingPadaHubMelakukantappingpadahubmerupakanlangkahyangtepatkarenajikalaukitamemasangperalatankomputerpadasuatuhub,kitaakanmemperolehseluruhinformasidarijaringanyangada.Halinidikarenakansifatdarihubtersebut.Saatinihubsudahjarangsekalidijualkarenamemilikibeberapaketerbatasan,terutamaseringterjadinyakegagalanpaketakibattabrakan(collision).Apabilaandamendapatiterdapathub,makahubadalahperalatanyangmudahsekaliuntukdi-sniffing.
TappingPadaSwitchSebagaipenggantidarihubadalahswitch.Switchmenyediakanfituryanglebihbaikdibandingkandenganhub.Komunikasiyangdisediakansudahfullduplex,artinyaprosespengirimandanpenerimaandatabisaterjadisecarabersamaan.ApabilaAndainginmelakukantappingpadaswitch,andaharusmendapatkantransmisipaketyangmengarahkemesin/komputerkita.Inilahkejelekanmelakukansniffingmelaluisebuahswitch.Agardapatmenjangkaukejaringanyanglebihluas,biasanyakitadapatmelakukanprosesseperti:
1. PortMirroring2. HubbingOut3. ARPCachePoisoning
TappingPadaRouterRoutermerupakanperalatanyangdapatmenghubungkanjaringanLANyangsatudenganyanglainnya.Tappingpadaroutersebenarnyaakanmengalamihalyangsamasepertipadaswitch.Padasebuahkasus,misalnyauntukdebuggingnetwork,routerdapatdikonfigurasi
HandoutKeamananKomputer
12Bab3-SniffingPadaJaringanKabeldanNirkabel
![Page 13: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/13.jpg)
sedemikianrupahinggapaketdapatdiawasi.Halyangsulitadalahketikaadabanyakrouteryangbekerja.Kadangkitadapatmenangkappaketyangmasuk,tetapikadangtidakmemperolehinformasiresponsnya.
MelakukanSniffingPadaJaringanNirkabelMelakukansniffingpadajaringannirkabelmemangkadangmengalamikendala.Halinibiasanyaterkaitdenganmasalahdriverdansistemoperasiyangmemproteksinya.
ProblematikadiSistemOperasiWindowsPadasistemoperasiwindows,aplikasiwiresharktidakdapatmendeteksidriverWirelesskarenalibraryWinpcaptidakdapatmendeteksinya.Sekalipunbisa,driverinidikenaldengannamamicrosoft.Kalaudijalankan,nantinyahanyamemperolehpaketdiatasprotokolWLAN(802.11).PaketradiotapdanIEEE802.11tidakterdeteksidenganbaik.Alternatiflain,dapatmenggunakantoolsdarimicrosoftyangbernamaMicrosoftNetworkMonitor
ProblematikadiSistemOperasiLinuxUbuntuSecaradefault,adapterWifipadalinux,terutamaUbuntu,bekerjapadamodenormal,artinyatidakpadakondisimonitor.Olehkarenaitu,harusdiaktifkanterlebihdahuludengansintaksebagaiberikut:
sudoifconfigwlan0down
sudoiwconfigwlan0modemonitor
Nilaiwlan0adalahnamaadapterWifiyangdimiliki.Sebelummelakukanini,pastikanWifitidakterhubungdenganaccesspointWifitertentu.Kadangketikamelakukaneksekusi,kitamengalamierror.HalinimungkinkarenaperangkatkerasadapterWifiyangdimilikiataudrivernyatidakmendukung.Jikaberhasil,lakukanpengujiansepertiberikut:
iwconfigwlan0
Apabilaberhasil,kitaakanmemperolehrespons.Disiniterlihatbahwamodewlan0adalahMonitor.Artinya,kitadapatmelakukanpengawasanprotokolIEEE802.11.
TugasPraktikum
HandoutKeamananKomputer
13Bab3-SniffingPadaJaringanKabeldanNirkabel
![Page 14: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/14.jpg)
SilakanAndamelakukansniffingterhadapalamatIPAddressdiPCmiliktemennyayangterdapatpadalaboratorium.Simpanlahhasilsniffingtersebut,kemudianlakukananalisaapasajadata-data"unik"yangAndatemukandipaketdatatersebut.
HandoutKeamananKomputer
14Bab3-SniffingPadaJaringanKabeldanNirkabel
![Page 15: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/15.jpg)
BekerjaDenganDataHasilTangkapanDatahasiltangkapandariWiresharkdapatdimanfaatkanuntukkepentingananalisadatalebihlanjut.Umumnyadatahasiltangkapanmempunyaiekstensifile(.pcap),namunWiresharkmendukungbanyakformatfilesehinggaapabilamenemukanfilepaketdataselainberformat.pcaptetapsajabisadibukadenganwireshark.
MembukaFileHasilTangkapanUntukmembukafilepaketdatahasiltangkapandilakukandengancaramembukamenuFile->Open.Kemudianakantersajidata-datahasiltangkapan.
PemfilteranPaketData
Kenapaperludifilter?
Bayangkansajaapabiladalamsatukomputeryangmenjalankanbrowserdenganbanyaktabdanalamatwebyangberbeda-beda.Kemudian,jugasambilmembuatEmail,Chatting,Skype,Facebook,Twitter,dll.Lalumenjalankanaplikasiwireshark,apayangterjadi?Semuapaketdataakanmasuksemua.
Sepertiyangsudahdijelaskan,paket-paketdatajaringandenganberbagaiprotokolnyakadangmenyulitkanketikaakanmelakukananalisapaketatauprotokoltertentu.Atasdasarini,makadibutuhkanteknikfilterdata.
FilterPaketDataSecaraLangsung
Apabilainginmemfilterpaketdatasecaralangsung,Andadapatmelakukannyaketikamembukaantarmukayangakandigunakan.
PilihInterface->Options->CaptureFilter,pilihsalahsatufilterdibagiankotakdaftarCaptureFilter,misalnyaHTTPTCPport(80).ApabilasudahkliktombolOKkemudianklikStartuntukmemulaiprosessniffing.
TugasPraktikum
HandoutKeamananKomputer
15Bab4-BekerjaDenganDataHasilTangkapan
![Page 16: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/16.jpg)
Berdasarkandatahasiltangkapan,silakanAndalakukanfilterpaketberdasarkanparameterfiltertertentusepertitcp.ip,port,ip.src,ip.dstdanlainsebagainya.Sehinggamahasiswadapatmemahamiapafungsidarifilteringpaketdata.
HandoutKeamananKomputer
16Bab4-BekerjaDenganDataHasilTangkapan
![Page 17: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/17.jpg)
Bab5PingdanPortScanning
5.1PingPingadalahsalahsatumekanismeyangdigunakanuntukmengetahuiapakahsuatuhostdenganiptertentudapatdiaksesatausedangaktifpadajaringantertentu.PingdikirimkanmenggunakanprotokolICMP(InternetControlMessageProtocol).AlamatIPyangmeresponpermintaandariPingtadiakanmemberikanduainformasiyangberhargayaitu:
1. Apabilaalamatiptujuanmerespon,kitajaditaubahwamesin/hostdenganalamatiptersebutadalahaktifdanresponsif
2. Pingumumnyaakanmemberikanketeranganseberapalamakonektifitasantarapenggunayangmengirimkanpingkepadatujuan.Halinidapatdilihatdaricatatanwaktuyangadapadasaatpenggunamengirimkanpaketping.
Padapraktikumkaliini,sayainginmengembangkanaplikasiyangbertujuanuntukmelakukanpingterhadapIPAddresstertentuuntukmelakukanscanningterhadapjaringanlokalagarmengetahuieksistensidarialamatIPyangtersedia/aktif.SayamenggunakanlibrarywxPythonuntukmembangunaplikasiberbasisGUI(GraphicalUserInterface).UntukpenggunaanPing,Andadapatmenggunakanlibraryyangada,dinamakanPython-Ping.LibraryPython-PingmerupakanmodulyangmenanganioperasidetaildarirequestICMP.
Berikutinimerupakankodeprogramping.py
importwxversion
importwx
importsys
importping
importsocket
fromtimeimportgmtime,strftime
defpingScan(event):
ifhostEnd.GetValue()<hostStart.GetValue():
dlg=wx.MessageDialog(mainWin,"InvalidLocalHostSelection","Confirm",wx.OK|wx.ICON_EXCLAMATION)
result=dlg.ShowModal()
dlg.Destroy()
return
mainWin.StatusBar.SetStatusText('ExecutingPingSweep....PleaseWait')
utcStart=gmtime()
utc=strftime("%a,%d%b%Y%X+0000",utcStart)
results.AppendText("\n\nPingSweepStarted:"+utc+"\n\n")
HandoutKeamananKomputer
17Bab5-PingdanPortScanning
![Page 18: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/18.jpg)
baseIP=str(ipaRange.GetValue())+'.'+str(ipbRange.GetValue())+'.'+str(ipcRange.GetValue())+'.'
ipRange=[]
foriinrange(hostStart.GetValue(),(hostEnd.GetValue()+1)):
ipRange.append(baseIP+str(i))
foripAddressinipRange:
try:
mainWin.StatusBar.SetStatusText('PingingIP:'+ipAddress)
delay=ping.do_one(ipAddress,timeout=2)
results.AppendText(ipAddress+'\t')
ifdelay!=None:
results.AppendText('ResponseSuccess')
results.AppendText('ResponseTime:'+str(delay)+'Seconds')
results.AppendText("\n")
else:
results.AppendText('ResponseTimeout')
results.AppendText("\n")
exceptsocket.error,e:
results.AppendText(ipAddress)
results.AppendText('ResponseFailed:')
results.AppendText(e.message)
results.AppendText("\n")
utcEnd=gmtime()
utc=strftime("%a,%d%b%Y%X+0000",utcEnd)
results.AppendText("\nPingSweepEnded:"+utc+"\n\n")
mainWin.StatusBar.SetStatusText('')
return
defprogramExit(event):
sys.exit()
app=wx.App()
mainWin=wx.Frame(None,title="SimplePing(ICMP)Sweeper1.0",size=(1000,600))
panelAction=wx.Panel(mainWin)
scanButton=wx.Button(panelAction,label='Scan')
scanButton.Bind(wx.EVT_BUTTON,pingScan)
exitButton=wx.Button(panelAction,label='Exit')
exitButton.Bind(wx.EVT_BUTTON,programExit)
Results=wx.TextCtrl(panelAction,style=wx.TE_MULTILINE|wx.HSCROLL)
ipaRange=wx.SpinCtrl(panelAction,-1,'')
ipaRange.SetRange(0,255)
ipaRange.SetValue(127)
HandoutKeamananKomputer
18Bab5-PingdanPortScanning
![Page 19: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/19.jpg)
ipbRange=wx.SpinCtrl(panelAction,-1,'')
ipbRange.SetRange(0,255)
ipbRange.SetValue(0)
ipcRange=wx.SpinCtrl(panelAction,-1,'')
ipcRange.SetRange(0,255)
ipcRange.SetValue(0)
ipLabel=wx.StaticText(panelAction,label="IPBase:")
hostStart=wx.SpinCtrl(panelAction,-1,'')
hostStart.SetRange(0,255)
hostStart.SetValue(1)
hostEnd=wx.SpinCtrl(panelAction,-1,'')
hostEnd.SetRange(0,255)
hostEnd.SetValue(10)
HostStartLabel=wx.StaticText(panelAction,label="HostStart:")
HostEndLabel=wx.StaticText(panelAction,label="HostEnd:")
actionBox=wx.BoxSizer()
actionBox.Add(scanButton,proportion=1,flag=wx.LEFT,border=5)
actionBox.Add(exitButton,proportion=0,flag=wx.LEFT,border=5)
actionBox.Add(ipLabel,proportion=0,flag=wx.LEFT,border=5)
actionBox.Add(ipaRange,proportion=0,flag=wx.LEFT,border=5)
actionBox.Add(ipbRange,proportion=0,flag=wx.LEFT,border=5)
actionBox.Add(ipcRange,proportion=0,flag=wx.LEFT,border=5)
actionBox.Add(HostStartLabel,proportion=0,flag=wx.LEFT|wx.CENTER,border=5)
actionBox.Add(hostStart,proportion=0,flag=wx.LEFT,border=5)
actionBox.Add(HostEndLabel,proportion=0,flag=wx.LEFT|wx.CENTER,border=5)
actionBox.Add(hostEnd,proportion=0,flag=wx.LEFT,border=5)
vertBox=wx.BoxSizer(wx.VERTICAL)
vertBox.Add(actionBox,proportion=0,flag=wx.EXPAND|wx.ALL,border=5)
vertBox.Add(results,proportion=1,flag=wx.EXPAND|wx.LEFT|wx.BOTTOM|wx.RIGHT,border=5)
panelAction.SetSizer(vertBox)
mainWin.Show()
app.MainLoop()
TugasPraktikum
1. Berdasarkankodeprogramyangsudahdibuat,silakanAndapakaikodeprogramtersebutuntukmelakukanpingterhadapjaringandiluarkampus.Studikasusnyabolehdimanasajakecualidiwilayahkampusunmuhjembertidakdiperbolehkankarenasudahdiujicobadipraktikumnya.
2. Berikanscreenshotdandisertaipenjelasanyangbaikdankata-katayangmudah
HandoutKeamananKomputer
19Bab5-PingdanPortScanning
![Page 20: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/20.jpg)
dimengerti,kemudianbuatlahlaporandalambentukPDF,dikumpulkanpadapertemuanminggudepan.
5.2PortScanningPortScanningmerupakancarayangdigunakanuntukmemeriksaportpadasuatuhost,apakahportyangterbukaadalahportyangmemangdigunakanatauportyangtidakdiketahuikegunaannya.
Beberapaportyangsudahdikenaldanseringdigunakanyaitu:
Tabel5.1ListNomorPortdanNamaProtocol
NomorPort Protocol
21 FTP(FileTransferProtocol)
22 SSH(SecureShell)
23 Telnet
25 SMTP(SimpleMailTransferProtocol
53 DNS(DomainNameSystem)
80 HTTP(HypertextTransferProtocol
110 POP3(PostOfficeProtocol)
119 NNTP(NetworkNewsTransferProtocol)
143 IMAP(InternetMessageAccessProtocol)
161 SNMP(SimpleNetworkManagementProtocol)
194 IRC(InternetRelayChat)
443 HTTPS(HTTPSecure)
465 SMTPS(SMTPSecure)
8443 RouterRemoteAccess
Danlainsebagainya
Berikutiniterdapatkodeprogramuntukmelakukanportscanningberbasiscommandline:
NamaFile:portscan.py
HandoutKeamananKomputer
20Bab5-PingdanPortScanning
![Page 21: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/21.jpg)
importsocket
importsubprocess
importsys
fromdatetimeimportdatetime
subprocess.call('clear',shell=True)
remoteServer=raw_input("Masukkanalamathostuntukprosesscanning:")
remoteServerIP=socket.gethostbyname(remoteServer)
print"-"*60
print"Tunggu......ProsesScanningRemoteHost",remoteServerIP
print"-"*60
t1=datetime.now()
try:
forportinrange(1,1025):
sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
result=sock.connect_ex((remoteServerIP,port))
ifresult==0:
print"Port{}:\tTerbuka".format(port)
sock.close()
exceptKeyboardInterrupt:
print"AndatekanCtrl+C"
sys.exit()
exceptsocket.gaierror:
print"Hostnametidakdapatdiperiksa.Programakankeluar...."
sys.exit()
exceptsocket.error:
print"Tidakdapatterhubungkeserver"
sys.exit()
t2=datetime.now()
total=t2-t1
print"ProsesScanningselesai.."
print"Waktuyangdihabiskanuntukmelakukanscanningadalah:",total
Outputnyaadalahsebagaiberikut:
HandoutKeamananKomputer
21Bab5-PingdanPortScanning
![Page 22: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/22.jpg)
Gambar5.1PortScanningBerbasisCommandLine
Padagambar5.1tersebut,terdapatketeranganporttertentuyangterbukadarisuatualamatip.Apabilaportyangterbukasudahdikenali,makaalamatiptersebuttidakadaaksesyangmencurigakan.Sedangkanapabilaportyangterbukatidakdikenali,makasilakandiperiksadenganbaikpenggunaanaksesdatanya.
BerikutiniterdapatkodeprogramlainnyauntukmelakukanportscanningberbasisGUI:
NamaFile:guiportscan.py
fromsocketimport*
fromTkinterimport*
defjalankan():
iptarget=field.get()
foriinrange(20,1025):
s=socket(AF_INET,SOCK_STREAM)
result=s.connect_ex((iptarget,i))
ifresult==0:
print'Port%d:Terbuka'%(i,)
s.close()
root=Tk()
root.title('SimplePortScanner')
lab=Label(text='MasukkanAlamatIPuntukdiscan:')
lab.pack(side=TOP,padx=10,pady=10)
field=Entry(root,width=10)
field.pack(side=TOP,padx=10,pady=10)
Button(root,text='Keluar',command=root.quit).pack(side=RIGHT)
Button(root,text='Scan',command=jalankan).pack(side=RIGHT)
root.mainloop()
Outputdariprogramdiatasadalah:
HandoutKeamananKomputer
22Bab5-PingdanPortScanning
![Page 23: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/23.jpg)
Gambar5.2PortScanningBerbasisGUI
Padagambar5.2,tampilanguinyatidaktercapture.Tampilanguihanyadigunakanuntukmemasukkanalamatipyangakandiperiksaportnyamulaidariport20sampai1025.Programinisedikitberatdalammelakukanportscanningkarenaakanmemeriksaportyangterbukasatupersatu,apabilajaringanmaupunkomputernyalambat,makaakanberpengaruhdenganwaktupenyelesaianportscanning.
TugasPraktikumBerdasarkankodeprogramportscanningtersebut.Setiapmahasiswasilakanmencobamelakukanportscanningterhadapalamatiptertentu(bisajugaalamatipkomputeranda)sehinggadapatmengetahuiportapasajayangterbuka.Kumpulkandalambentuksoftcopyyangterdiridarireviewprogramdantampilanoutputprogram.
HandoutKeamananKomputer
23Bab5-PingdanPortScanning
![Page 24: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/24.jpg)
PengenalanPythonPythonmerupakanbahasapemrogramanyangpopulerkhususnyapadabidangkeamanankomputer.Padamodulini,beberapaeksperimendalampembuatanprogramuntukmendukungproseskeamanankomputer,ditulismenggunakanpythonversi2.Apabilatidakinginrumit,makapakailahsistemoperasilinuxvarianterbaru,misalnya:ubuntu,kalilinux,danlainsebagainya.Bahasapemrogramanpythonbesertamodul-modulnyasudahterinstallotomatisdisistemoperasilinux.
PengenalanNetworkSocketNetworksocketmerupakanalamatyangmengandungdataalamatipaddressdannomorport.Singkatnya,socketmerupakancarayangmudahuntukberkomunikasidengankomputerlain.Olehkarenaitu,socketmerupakansuatuprosesyangdapatberkomunikasidenganprosesyanglainmelaluijaringan.
Padabahasapemrogramanpython,untukmembuatsocketmenggunakanfungsisocket.socket()yangtersediapadamodulsocket.Sintaksstandardarifungsisocketadalah:
s=socket.socket(socket_family,socket_type,protocol=0)
Deskripsiparameterdarifungsisocketdiatasadalahsebagaiberikut:
socket_family:socket.AF_INET,PF_PACKET
AF_INETmerupakanalamatuntukIPv4.PF_PACKETmerupakandevicedriverlayer.Umumnyamerupakanlibrarypcapyangdigunakanpadalinux.
CaraKerjaMethodSocketServerDalamkonseparsitekturclient-server,terdapatdualayananyangberbedadarimasing-masingperangkat.Serverbertugassecaraterpusatuntukmemberikanservice/layananyangdimintaolehclient.Sedangkanclientbertugasuntukmengirimkanpermintaandanmenerimalayanandariserver.
Beberapametodepadafungsisocketdipython,yaitu:
socket.bind(address):Methodinidigunakanuntukmenghubungkanalamatipdengannomorportkesocket.Socketharusdibukadahulusebelumterhubungdenganalamattersebut.
HandoutKeamananKomputer
24Bab6-PengenalanPython
![Page 25: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/25.jpg)
socket.listen(q):MethodiniakanmemulaifasemendengarkankoneksiTCP.Argumenqmendefinisikanjumlahkoneksimaksimumyangdapatditanganiserver.socket.accept():Penggunaanmethodiniadalahuntukmenerimakoneksiyangdikirimdariclient.Sebelummenggunakanmethodini,methodsocket.bind(address)dansocket.listen(q)harusdigunakanterlebihdahulu.Methodsocket.accept()akanmengembalikanduanilaiyaitu:client_socketdanaddress,dimanaclient_socketadalahobjeksocketbaruyangdigunakanuntukmengirimdanmenerimadataselamaterhubung,danaddressadalahalamatclient.
MethodSocketClientMethodyangterdapatuntukfungsidisocketclientadalah:
socket.connect(address):Methodiniuntukmenghubungkanclientkeserver.Argumenaddressadalahalamatservernya.
MethodSocketBeberapafungsiyangterdapatpadamethodsocketadalahsebagaiberikut:
socket.recv(bufsize):MethodinimenerimapesanTCPdarisocket.Argumenbufsizemendefinisikanjumlahdatamaksimumyangdapatditerimadalamsuatuwaktu.socket.recvfrom(bufsize):Methodinimenerimadatadarisocket.Methodiniakanmengembalikansepasangnilai,nilaipertamaakanmemberikaninformasipenerimaandata,nilaikeduaakanmemberikanalamatsocketuntukmelakukanpengirimandatasocket.recv_into(buffer):Methodinimenerimadatakurangdariatausamadenganargumenbuffer.Parameterbufferdibuatolehmethodbytearray()socket.recvfrom_into(buffer):Methodinimempunyaidatadarisocketdanmengirimkanmelaluibuffer.Nilaikembalianadalahnbytesdanaddress,dimananbytesadalahjumlahbytesyangditerima,danaddressadalahalamatsocketpadasaatmengirimdata.socket.send(bytes):Methodinidigunakanuntukmengirimkandatakesocket.Sebelummengirimdata,pastikanbahwasocketsudahterhubungkemesin.Methodiniakanmengembalikanjumlahbyteyangterkirim.socket.sendto(data,address):Methodinidigunakanuntukmengirimdatakesocket.Secaraumum,methodinimenggunakanUDP.UDPmerupakanprotocolyangbersifatconnectionless(tidakmemperdulikanapakahpaketsudahterkirimataubelumyangpentingsudahdikirimkanolehsipengirim(server/client)).socket.sendall(data):Methodiniakanmengirimkansemuadatakesocket
Berikutiniterdapatkodeprogramclientserversederhana:
HandoutKeamananKomputer
25Bab6-PengenalanPython
![Page 26: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/26.jpg)
Namafile:serverku.py
importsocket
host="192.168.0.1"
port=12345
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((host,port))
s.listen(2)
conn,addr=s.accept()
printaddr,"SelamatAndaSudahTerhubungdenganServerku.py"
conn.send("TerimaKasihkarenatelahberkomunikasidenganServerku.py")
conn.close()
Namafile:clientku.py
importsocket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
host="192.168.0.1"
port=12345
s.connect((host,port))
prints.recv(1024)
s.send("HaiServerku.py,Clientku.pyinginberkomunikasi")
s.close()
Outputdarikodeprogramdiatasadalah:
Gambar6.1OutputServerku.py
Gambar6.2OutputClientku.py
Metodekonektivitasclientserverdiatashanyauntukmenanganisatupermintaanyangdikirimolehclient.Apabilamenginginkanserversocketmenanganilebihdarisatuservice,makatinggaltambahkanloopingsetelahstatementlisten.
Berikutinikodeprogramlengkapnya:
Namafile:serverku2.py
HandoutKeamananKomputer
26Bab6-PengenalanPython
![Page 27: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/27.jpg)
importsocket
host="0.0.0.0"
port=12345
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((host,port))
s.listen(2)
whileTrue:
conn,addr=s.accept()
printaddr,"NowConnected"
conn.send("Thankyouforconnecting")
conn.close()
Outputdariprogramdiatasadalahsebagaiberikut:
Gambar6.3Outputserverku2.pydanclientku.pyketikadijalankan
Kodeprogramclientserversederhanasudahselesai.Berikutiniterdapatkodeprogramterakhiruntukmengetahuisecaradetailalamatipdanportbesertatipenya.
Namafile:detailsocket.py
HandoutKeamananKomputer
27Bab6-PengenalanPython
![Page 28: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/28.jpg)
importsocket
defget_protnumber(prefix):
returndict((getattr(socket,a),a)
foraindir(socket)
ifa.startswith(prefix))
proto_fam=get_protnumber('AF_')
types=get_protnumber('SOCK_')
protocols=get_protnumber('IPPROTO_')
forresinsocket.getaddrinfo('www.unmuhjember.ac.id','http'):
family,socktype,proto,canonname,sockaddr=res
print'Family:',proto_fam[family]
print'Type:',types[socktype]
print'Protocol:',protocols[proto]
print'Canonicalname:',canonname
print'Socketaddress:',sockaddr
OutputProgramtersebutadalah:
Gambar6.4DetailSocket
TugasPraktikumCobalahkodeprogramdiatas,kemudianlakukanpercobaandenganalamatIPyangberbedadanberikanketerangansertapenjelasanmaksuddarikodeprogramtersebut.
HandoutKeamananKomputer
28Bab6-PengenalanPython
![Page 29: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/29.jpg)
SniffingMenggunakanPythonSniffingmerupakanprosesuntukmelakukanmonitoringdanmeng"capture"semuapaketdatayangmelewatijaringanmenggunakansoftware/aplikasimaupunperangkatkeras(hardware).Umumnyasniffingdilakukanolehseorangnetworkadministratoruntukmengamatipenggunaanjaringan,namunkenyataannyasaatinibegitubanyakaplikasiyangmudahdiperoleh,makabanyakjugapenggunayangmelakukanisengterhadappenggunaanjaringan.
Metodedalammelakukansniffingterdiridariduamacam,yaitu:
AktifSniffingAktifsniffingmerupakantindakanyangdilakukanpadajaringanberbasisswitch.Switchtentunyalebihpintardaripadahub,secarafungsinya.Seranganinidilakukandengancaramengirimkanpacketkekomputertargetsetelahmemeriksatablemacaddress.TeknikaktifsniffingumumnyamenggunakancaraARPSpoofing.
PasifSniffingPasifsniffingmerupakantindakansniffingyangdilakukandenganmelakukanmonitoringpaketdarijaringanyangberbasishub.Denganmenempatkansoftwarepacketsnifferpadajaringanmenggunakanmetodepromiscuous,seorangattackerdapatmelakukancapturepaketdatadalamsubnetjaringantersebut.
ImplementasiNetworkSnifferMenggunakanPythonPadapython,untukmelakukannetworksniffingdapatmenggunakanmodulstruct.Beberapamethodyangterdapatpadamodulstructdiantaranya:
struct.pack(fmt,v1,v2,...):Methodiniakanmengembalikanstringyangmengandungnilaiv1,v2danlain-lain,sedangkanpaketyangditerimaakanmengacupadaformatyangdiberikan.struct.unpack(fmt,string):Methodiniakanmembongkarisistringsesuaidenganformatyangdiberikan.
Contohpenggunaankodeprogramnya:
Namafile:struct1.py
HandoutKeamananKomputer
29Bab7-SniffingMenggunakanPython
![Page 30: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/30.jpg)
importstruct
arsip=struct.pack('hhl',1,2,3)
print(arsip)
k=struct.unpack('hhl',arsip)
printk
Outputprogramtersebut:
Gambar7.1ContohPenggunaanModulStruct
Kodeprogramtersebutmenggunakanmethodpackdanunpack,sehinggakalaudiimplementasikanpadakonseppemrogramansocket,hasilnyaadalahsebagaiberikut:
Namafile:structt.pysebagaiserver
importsocket
importstruct
host="0.0.0.0"
port=12347
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((host,port))
s.listen(1)
conn,addr=s.accept()
print"Menerimakoneksidariip:",addr
arsip=struct.pack('hhl',1,2,3)
conn.send(arsip)
conn.close()
Namafile:unstructt.pysebagaiclient
HandoutKeamananKomputer
30Bab7-SniffingMenggunakanPython
![Page 31: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/31.jpg)
importsocket
importstruct
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
host="0.0.0.0"
port=12347
s.connect((host,port))
msg=s.recv(1024)
printmsg
printstruct.unpack('hhl',msg)
s.close()
Outputkodeprogramapabilakeduafiletersebutdijalankan:
Gambar7.2ImplementasiStructpadamethodpackdanunpack
NetworkSnifferPadaPythonUntukmengimplementasikansniffingpadapython,pertama-tamamasuklahkemodepromiscuouspadainterfacecardyangakandigunakan.Padacontohkaliini,sayamenggunakansistemoperasikalilinuxuntukmelakukansniffingmenggunakanpython.
Untukmelakukansettinginterfacecardagarmenjadimodepromiscuousmodeadalahsebagaiberikut:
HandoutKeamananKomputer
31Bab7-SniffingMenggunakanPython
![Page 32: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/32.jpg)
Gambar7.3ModePromiscuousPadaSistemOperasiKaliLinux
Perintahnyaadalah:
HandoutKeamananKomputer
32Bab7-SniffingMenggunakanPython
![Page 33: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/33.jpg)
root@kali:~#ifconfig
eth0Linkencap:EthernetHWaddr08:00:27:bf:ed:99
inet6addr:fe80::a00:27ff:febf:ed99/64Scope:Link
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
RXpackets:0errors:0dropped:0overruns:0frame:0
TXpackets:34errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:0(0.0B)TXbytes:6358(6.2KiB)
loLinkencap:LocalLoopback
inetaddr:127.0.0.1Mask:255.0.0.0
inet6addr:::1/128Scope:Host
UPLOOPBACKRUNNINGMTU:65536Metric:1
RXpackets:20errors:0dropped:0overruns:0frame:0
TXpackets:20errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:0
RXbytes:1200(1.1KiB)TXbytes:1200(1.1KiB)
root@kali:~#ifconfigeth0promisc
root@kali:~#ifconfig
eth0Linkencap:EthernetHWaddr08:00:27:bf:ed:99
inet6addr:fe80::a00:27ff:febf:ed99/64Scope:Link
UPBROADCASTRUNNINGPROMISCMULTICASTMTU:1500Metric:1
RXpackets:0errors:0dropped:0overruns:0frame:0
TXpackets:34errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:0(0.0B)TXbytes:6358(6.2KiB)
loLinkencap:LocalLoopback
inetaddr:127.0.0.1Mask:255.0.0.0
inet6addr:::1/128Scope:Host
UPLOOPBACKRUNNINGMTU:65536Metric:1
RXpackets:20errors:0dropped:0overruns:0frame:0
TXpackets:20errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:0
RXbytes:1200(1.1KiB)TXbytes:1200(1.1KiB)
root@kali:~#
SetelahmuncultulisanUPBROADCASTRUNNINGPROMISCMULTICASTmakaeth0siapdigunakanuntukmelakukansniffingterhadapkomputer.
Berikutiniterdapatkodeprogramsederhanauntukmelakukansniffing:
NamaFile:sniff.py
HandoutKeamananKomputer
33Bab7-SniffingMenggunakanPython
![Page 34: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/34.jpg)
importsocket
importstruct
importbinascii
#pakesocket.PF_PACKETapabilamenggunakanlinux
s=socket.socket(socket.AF_INET,socket.SOCK_RAW,socket.ntohs(0x0800))
whileTrue:
pkt=s.recvfrom(2048)
ethhead=pkt[0][0:14]
eth=struct.unpack("!6s6s2s",ethhead)
print"--------EthernetFrame--------"
print"desinationmac",binascii.hexlify(eth[0])
print"Sourcemac",binascii.hexlify(eth[1])
binascii.hexlify(eth[2])
ipheader=pkt[0][14:34]
ip_hdr=struct.unpack("!12s4s4s",ipheader)
print"-----------IP------------------"
print"SourceIP",socket.inet_ntoa(ip_hdr[1])
print"DestinationIP",socket.inet_ntoa(ip_hdr[2])
print"---------TCP----------"
tcpheader=pkt[0][34:54]
tcp_hdr=struct.unpack("!HH9ss6s",tcpheader)
print"SourcePort",tcp_hdr[0]
print"Destinationport",tcp_hdr[1]
print"Flag",binascii.hexlify(tcp_hdr[3])
Outputprogramtersebutketikadijalankanmenggunakankalilinux:
HandoutKeamananKomputer
34Bab7-SniffingMenggunakanPython
![Page 35: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/35.jpg)
Gambar7.4Outputsniff.py
Padagambar4.7,terlihatbahwapercobaandalammelakukansniffingmasihgagalkarenaalamatmacaddressbaiksumberdantujuanbelumdapatterbacamenggunakanbeberapamoduldipython.Inimurnikarenaprogrammerbelummahirmenguasaikonsepnetworkingdipython.
TugasPraktikumBerdasarkankodeprogramyangsudahdituliskan,silakanberikanketerangandanpenjelasan,maksuddarikodeprogramtersebut.Berikantampilanoutput!Tampilanharusberbedadenganmilikteman-temannya.
HandoutKeamananKomputer
35Bab7-SniffingMenggunakanPython
![Page 36: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/36.jpg)
PengenalanAnalisaMalwareSeranganterhadapkeamanankomputermaupunsisteminformasiyangsedangpopulersaatiniyaitumelaluikodeprogramyangdinamakanMalware.Malwaremerupakansuatuperangkatlunakatausuatukodeprogramyangbertujuanuntukmasukkedalamsistemataujaringankomputeragardapatmengaksesdata-datapribadimiliktarget/korban.Padasaatini,sudahtersediaberbagaimacamsoftwareyangdapatdigunakanuntukmelindungikomputer/jaringankomputerdariseranganmalware,diantaranya:antivirus,firewall,ids,internetprotectiondanlain-lain.Namunkecanggihandarisoftwaretersebut,umumnyadapatdilewatimenggunakanteknik-tekniktertentusehinggasoftwaretersebuttidakdapatmendeteksiadanyaaktivitasmaliciousprogramyangsedangberjalan.
Adaduametodeuntukmelakukananalisaterhadapmalware,yaitu:
1. DynamicAnalysis:Merupakanmetodeyangdigunakanuntukmelakukananalisaterhadapmalwaredenganmengamatikinerjasistemyangdapatterlihatdariperilakusistemsebelummalwaredijalankandenganperilakusistemsetelahmalwaretersebutdijalankanpadasistemtersebut.MetodedynamicanalysisumumnyamenggunakansoftwarevirtualsepertiVirtualBox,VMWaredanlain-lain,sehinggaapabilamalwareyangdijalankantersebutternyatamerusaksistem,makasistemutamatidakmengalamikerusakanakibatmalwaretersebut.
2. StaticAnalysis:Merupakanmetodeyangdigunakanuntukmelakukananalisamalwaredengancaramengamatisecaralangsungkodesumber(sourcecode)malwaretersebut.Dalammengamatikodesumbermalware,terdapatteknikyangumumnyadigunakan,yaituReverseEngineering.
KlasifikasiMalwareBerikutiniterdapatbeberapacontohklasifikasimalware:
1. Virus:MerupakanMalwareyangdapatmelakukanreplikasidirinyasendiri.Umumnyadisebabkankarenainfeksifilepadakomputerakibatdaripenggunamelakukaneksekusifile"virus"padakomputer.
2. Worm:Merupakanmalwareyangdapatmelakukanpenyebarandarisatukomputerkekomputeryanglain.
3. Trojan:Aplikasiyangbersifatmalicious,yangdapatmenyebardengansendirinya.Trojanumumnyamelakukanpemalsuanterhadapprogramyangsah,namunkenyataannyamelakukanaktivitasberbahayadanterlarangpadakomputeryang
HandoutKeamananKomputer
36Bab8-PengenalanAnalisaMalware
![Page 37: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/37.jpg)
terkena.4. Backdoor:Merupakanbagiandariperangkatlunakyangberjalanpadasistem,dan
dapatmembukajalurkomunikasidenganpihakluar,sehinggapenyerangyangmempunyaiaksesdenganbackdoortidakperlumelakukanautentikasiyangditerapkanolehsistem.
5. Bot:Merupakanprogramjahatyangumumnyabertujuanuntukmelakukanperintahotomatismelaluiaksesyangtidaksahdandikendalikandarikomputeryangterkenabottersebut.
6. RemoteAdministrationTool(RAT):Perangkatlunakyangmemungkinkanmelakukanaksesjarakjauhkekomputersehinggakomputer/sistemtersebutdapatdikendalikanseolah-olahsipenyerangmempunyaiaksesfisikkesistem/komputertersebut.
7. Downloader:Sejenistrojanyangdapatmendownloadfilelainnya,yangbiasanyaterdeteksisebagaimalwarelainnya.Downloadermembutuhkankoneksikeremotehostuntukmendownloadfilelainnyatersebut.
8. Dropper:Suatutrojanyangdapatmenghapusfilelain.9. Spyware:Suatuperangkatlunakyangdapatmengumpulkaninformasidandibagikan
kepadapihakketigatanpamelaluiizinkepemilikdata10. Adware:Perangkatlunakyangbertujuanuntukmenyebarkaniklan.Umumnyaini
terdapatpadasoftwaretertentusehingganantinyaketikamembukasoftwarelainnyaakanmenyarankanhalamansesuaidenganiklanyangada.
11. Ransomware:Jenismalwareyangmengenkripsifilepadakomputerkorban,kemudiansipenyerangharusmembayarkansejumlahuang/sesuatuuntukmembukafileyangdienkripsitersebut.
TeknikAnalisaMalwaredenganDynamicAnalysisSebelummelakukananalisadenganteknikdynamicanalysis,rekan-rekanmahasiswacobalahuntukmelakukansettingterhadapOSVirtualsebagaianalysislabvirtual,sehinggafilemalwareyangnantinyadijalankan,tidakakanmempengaruhikinerjasistemoperasiyangsesungguhnya.
Langkah-langkahdansettingsistemoperasiyangberjalanpadavirtualbox:
PastikanandasudahmelakukaninstalasivirtualboxdenganbenarPastikanandasudahmelakukaninstalasisistemoperasiwindowsxpdivirtualboxdenganbenar.AndaharusmelakukaninstalasiduasistemoperasiwindowsXP,satuosuntukcommandandcontrolserver,satuoslagiuntukdijadikanclient/korbanSistemoperasiwindowstidakharusmenggunakanvirtualsemuanya,cukupclient/
HandoutKeamananKomputer
37Bab8-PengenalanAnalisaMalware
![Page 38: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/38.jpg)
korbansajayangdisettingvirtualDownloadcontohsamplemalwaredisini,tapijangandijalankanataujangandiklik,apabilasudahselesaididownloadPasswordfiledownloadtersebutadalah"infected"BukamalwareyangbernamaPoisonIvySnapshotvirtualboxAnda,sehinggaapabilavirtualboxmengalamikerusakanmakadapatdilakukanrestore.Untukmelakukansnapshot,jalankanosvirtual,kemudianklikmachine->takesnapshot(biarkansajasampaiprosessnapshotselesai)
EksplorasiRATMalwarePoisonIvyRemoteAdministrationTooldisinidigunakanuntukmelakukanperintahdanpengendalianterhadapmesindarijarakjauhmenggunakanpoisonivy.PoisonivymerupakanRATmalwareyangdapatmelakukankendali100%terhadapsistemkorban.
PanduansettingeksplorasiRATPoisonIvyadalahsebagaiberikut:
PastikanAndasudahmempunyaisistemoperasiwindowsyangakandijadikanC&C(CommandAndControl)ServerPastikanAndasudahmempunyaisistemoperasiwindowsyangakandijadikanclient/korbanMasing-masingsistemoperasi,silakantulisalamatipnya,jangankeliruyaantaraipserverdenganipkorbanBukafilePoisonIvytadidisistemoperasiyangdijadikansebagaiserverApabilatidakbisadibukakarenamunculerror"hasstoppedworking",mungkinhaltersebutdisebabkankarenaWindowsDataExecutionPreventionmelakukanblokir.SehinggamatikandulusettingDEPdengancaramasukkeControlPanel->SystemAndMaintenance->System->AdvanceSystemSettings.Ubahlahsesuaidengangambardibawahini:
HandoutKeamananKomputer
38Bab8-PengenalanAnalisaMalware
![Page 39: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/39.jpg)
Gambar8.1MatikanSettingDEP
RestartWindowsPanduanMembuatTrojanDenganPoisonIvy
1. BukalahPoisonIvy,kemudianklikFile->NewServer2. Akanmunculjendelapopupsepertiberikutini:
HandoutKeamananKomputer
39Bab8-PengenalanAnalisaMalware
![Page 40: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/40.jpg)
Gambar8.2ProfilPoisonIvy
Andaisimenuprofilnyasesuaidengannamamahasiswa,kemudianklikOK
3. PadamenuConnection,ubahlahalamatpadakolomDNS/Portdariyangsemula127.0.0.1menjadialamatipsesuaidengankomputerAnda.Tampilannyaadalahsebagaiberikut:
HandoutKeamananKomputer
40Bab8-PengenalanAnalisaMalware
![Page 41: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/41.jpg)
Gambar8.3MenuConnection
4. Kegunaannyaadalahuntukbertindaksebagaiserverkontroldankendalisehinggadapatbertindaklayaknyarobotyangsetiapsaatdapatdieksekusi.Fileininantinyaakanberbentuktrojanyangdapatmelakukaninjeksiterhadapsistem.
5. Apabilamenuconnectionsudahselesai,klikOK,kemudiantekantombolnextdipojokkananbawah.
6. Masukmenuinstall.Menuinidigunakanuntukmembuattrojan.Lewatisajadenganmenekantombolnext.
7. Masukmenuadvanced.Padamenuini,biarkansepertisettingandefaultaliastidakusahdiubah-ubah.Pastikanbahwaitemkeyloggersudahtercentang.Tampilannyaadalahsebagaiberikut:
HandoutKeamananKomputer
41Bab8-PengenalanAnalisaMalware
![Page 42: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/42.jpg)
Gambar8.4MenuAdvance
8. KlikOKdanKlikNext,kemudianmasukkemenubuild.9. Padamenubuild,silakanklikGenerate10. Lalukeluarpopupsaveas,simpanlahtrojantersebutdengannama"namaAnda.exe"
kalausudahklikOK11. Apabilatrojansudahberhasildibuat,agardapattersimpansilakannonaktifkandulu
firewalldanantivirusyangterdapatpadawindows.12. Pastikantrojanyangbarusajadibuat,tidakdijalankanataudidoubleklik.MesinServerKontroldanKendali
Apabilapembuatantrojansudahberhasil,sekaranghidupkansoftwarepoisonivypadasistemoperasiwindowsyangdigunakansebagaiserver.
1. BukaPoisonIvy,KlikFile->NewClient2. Akanuncultampilandanketeranganuntukmengubahportdantambahkanpassword,
biarkansajasesuaisettingandefault,KlikStart.3. LaluakanmunculketeranganPoisonIvyListeningonPort3460sepertigambar8.5
berikutini:
HandoutKeamananKomputer
42Bab8-PengenalanAnalisaMalware
![Page 43: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/43.jpg)
Gambar8.5TampilanPoisonIvyUntukMelihatClient
4. TunggusajasampaikorbanmenjalankantrojanyangtadisudahdibuatInfeksiSistemTarget
Sebelummelakukaninfeksiterhadapmesinkorban(mesinvirtual)pastikanantarasistemvirtualdengansistemoperasiutamasudahterhubung.
1. BukaSistemoperasidivirtual,kemudianlakukanpingpadasistemoperasiutama.Pastikansudahterhubung,apabilabelummakalakukansettingdenganbenar(settingNAT)
2. Pindahkanfiletrojandarisistemoperasiutamakesistemoperasivirtual3. Apabilasudahberhasildipindahkan/dicopykevirtual,jalankanfiletrojantersebutMelihatAktivitasTrojan
Apabilakorbansudahmenjalankantrojantersebut,makabukalahsoftwarepoisonivyuntukmengetahuimesinmilikkorban.Adapuntampilannyaadalahsebagaiberikut:
HandoutKeamananKomputer
43Bab8-PengenalanAnalisaMalware
![Page 44: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/44.jpg)
Gambar8.6TampilanAktifitasSistemMilikKorban
EksploitasiMesinTarget
Apabilatampilanpadagambar8.6sudahmuncul,makaandadapatmelakukaneksploitasisistemmilikkorbandenganmelakukandoubleklikpadanamamesinkorban"YOURNAME".Apabilasudahdijalankanmakaakanmunculgambarsepertiberikut:
Gambar8.7TampilanProsespadaMesinKorban
Kemudiandapatmelihatpasswordhasheswindowsmilikkorban,sepertigambarberikutini:
HandoutKeamananKomputer
44Bab8-PengenalanAnalisaMalware
![Page 45: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/45.jpg)
Gambar8.8WindowsHashesPassword
Kemudiandapatmelihattampilansistemkorban,sepertigambarberikutini:
Gambar8.9DesktopMilikKorban
Menarikbukan?Nah,apayangdisajikanpadapraktikuminimasihsangatsedikitsekali,selanjutnyasilakanlakukaneksplorasisendiriterkaitdenganaktivitaslainyangdapatdilakukanolehRATPoisonIvyini.
HandoutKeamananKomputer
45Bab8-PengenalanAnalisaMalware
![Page 46: Modul Keamanan Komputer Triawan](https://reader033.vdocuments.net/reader033/viewer/2022050909/5695d0ba1a28ab9b02939fd9/html5/thumbnails/46.jpg)
TugasPraktikum1. BuatlahsettingOSWindowsuntukhostutamadenganOSWindowsuntukVirtual
sesuaipenjelasanmodul,kemudiandokumentasikanhasilsettingannyabesertatambahkanscreenshotoutputdanberikanpenjelasannselengkapmungkin.
2. CobalahmembuattrojandengannamaAndasendirimengacupadapenjelasandimodul,kemudianujidengansistemoperasiyangsudahAndasetting,kemudiandokumentasikandanberikanketerangandanscreenshotnya.
HandoutKeamananKomputer
46Bab8-PengenalanAnalisaMalware