隨著互聯網的發展,學生們開始陸續享用互聯網帶來的紅利。應用的業務越來越廣泛。方便大家當然是好事,學校的相關人員也非常注意網絡安全保護??墒?,學校保護大家的時候,千萬別忘了保護自己,不然,可能系統被黑而“蹭卡”。我們結合新聞一起來盤點。
校園卡的煩惱
案例一:大學生破解校園卡系統白吃白喝兩年被刑拘
事件回放:今年1月21日的新聞,據北京晚報的報道,有的大學生所學專業知識不用在正途,卻動歪心思破解校園一卡通充值系統,兩年多盜刷兩萬余元,如今終被海淀警方抓獲并刑拘,盜刷校園一卡通案告破。
1月9日13時許,一所知名高校保衛部門向海淀分局萬壽寺派出所報警:曲某在校就讀期間涉嫌盜刷校園一卡通。通過保衛部門提供的曲某校園卡充值消費記錄,民警發現自2014年11月至2016年6月,該卡在學校內正常消費,并有完整的充值消費記錄。但根據學校提供的電腦充值點記錄,該卡實際上并沒有在學校進行任何現金充值。憑借多年的辦案經驗,民警認為該卡的充值系統應該是被“黑了”。
當天傍晚,曲某見民警找來,一下子愣住了,主動承認了自己的罪行。民警將嫌疑人曲某帶回派出所進一步審查。曲某是這所高校2016年畢業生,去年6月至今,他留宿在學校繼續考研。2013年10月,他了解到所有系統都有漏洞后,想到如果自己破解學校一卡通,就可以白吃白喝,加上好奇心作祟,便想破解試試看。2014年1月,曲某準備好破解軟件后,又網購了用于連接充值卡傳感器等破解工具。經過3個月的“鉆研”,他成功破解了學校的一卡通充值系統。
案例二:注銷卡的起死回生“坑”學校十幾萬元
事件回放:去年7月2日,某城市西青區大學城內某高校財務處報警稱,在核對處理該校校園一卡通賬目時,發現一個早已銷戶的卡號居然在近四年間還在持續不斷地消費,累計數額高達十幾萬元,懷疑是被人盜刷。
接到報案后,公安西青分局學苑派出所民警迅速出警,開展案件調查工作。據校方財務處負責人介紹,“這張卡本來是屬于我校的一名學生使用,后來本人遺失,我們就把這個卡號注銷了。”民警發現在卡片遺失注銷后的四年間,學校里的超市、食堂、小賣部等地卻頻繁出現了該卡的消費記錄。在某超市的視頻監控錄像中,校方辨認出該卡在某次被盜刷時,使用該卡消費的嫌疑人正是負責維護校園一卡通系統的工作人員張某。
經過連續多日的走訪取證,民警掌握了大量證據,確定這是一起利用校園卡充值系統漏洞實施盜刷的詐騙犯罪案件,并最終鎖定了系統維護人員張某及其女友劉某、同事周某有重大作案嫌疑。去年7月23日,民警組織多名警力,將三名嫌疑人全部抓獲歸案。
張某向民警如實交代了,2012年他無意中在校園里撿到了這張卡,因為之前在對系統進行維護時曾經發現一卡通充值系統中可能存在“不充值也能消費”的漏洞,便萌生了想要試一試的“邪念”。于是,他私自從后臺開通了已經被注銷的卡,并利用充值漏洞成功“充”入了200塊錢。自此之后,張某便一發不可收拾,開始了在學校白吃白喝的日子,后來甚至還為其女朋友張某、同事周某制作這種“免費卡”,三人經常在學校里閑逛,一起吃飯、購物。
校園卡防“坑”攻略
我們不妨逆向思維,向我們的對手打一個反手拳。根據第一個和第二個案例的共通點,不難發現,他們都用的一個辦法來逃避學校的注意,那就是充少量的金額。
案例一:為了避免被發現,曲某每次在卡里金額剩下十多元時,就用破解系統充入200元。從2014年11月至2017年1月,曲某利用這種方式為學校所辦的校園卡和校友卡卡中充值金額達2.3萬余元。而這些非法所得全部被曲某用于在學校吃飯、喝水、上網、洗澡等消費。
案例二:因為張某每次就只充200、300元錢,學校一開始確實沒有發現這個問題,沒想到這一用就是4年,給學校造成了重大的經濟損失。面對即將要受到的法律嚴懲,張某坦言非常后悔:“就像發現自動取款機突然往外吐錢的感覺,我不差錢,但善惡就在一念之間,沒挺住。”目前,張某等三人因涉嫌詐騙罪已被西青警方依法刑事拘留。案件正在進一步審理中。
從這兩個案例看防“坑”的重點,不能僅僅關注大額資金的異常變動,今后學校的相關人員要苦練內功,防漏洞的技術提高之外,還需提高警惕,對于小額的金額,如果出現多回異常的狀況時,需及時地追查蛛絲馬跡。當然,苦練內功,減少漏洞還是關鍵。
那么,漏洞在哪里呢?知彼知己,百戰不殆。棋逢對手,只有過招后,我們才能更懂對手。所以,同樣地,還是逆向思維,以下是FreeBuf.COM論壇的一篇帖子,由網上技術達人介紹如何攻破“M1卡的漏洞”,克隆篡改飯卡去蹭飯的途徑。也許,通過此帖子,學校能從對手的角度探索防守的方向,來減少漏洞。
帖子贏得共670424人圍觀,可見蹭飯的關注度了。帖子僅僅是一個實驗,第一步,提供實驗設備:PM3及天線+飯卡+UID白卡。連接好設備后通過hwtune觀察電壓變化,判斷高低頻卡。
第二步,克隆卡。
讀M1的卡數據。記下UID號,用于之后復制一張UID一樣的卡,sector0區其它廠商信息地方改不了就沒辦法了,因為寫死了。我們可以利用一張UID白卡完成克隆和修改,保證數據可對比性。連接com3口proxmark3COM3進入命令行,如圖1所示。
執行:hf14areader,記下UID:b39422d4后續克隆卡使用,如圖2所示。
獲取區塊1的A/Bkey,如圖3所示。
使用hfmfnested枚舉其它區塊key,如圖4和圖5所示。
然后,你可以看到,區塊基本都使用的是默認的卡密。這里不展開圖示了。操作完之后,就可以將卡的原始數據dump出來,接著把dumpdate.bin文件備份,使用C32asm對數據進行個性。為了克隆卡及驗證修改數據后是否可正常使用,先把卡上的姓名進行修改。之后,把修改后的dumpdata.bin重新寫入到UID白卡上,為防止檢校UID,先把白卡的UID改掉。
命令:
hfmfcsetuidb39422d4
接著就可以將dumapdata.bin內容克隆到新卡上了。
使用命令:hfmfrestore進行克隆。PM3燈閃一會兒就克隆完了。然后中午飯去刷卡,修改姓名后的克隆卡正常使用。
第三步,篡改卡余額。
中飯過后,刷了一次卡,然后第一時間就是dump出克隆卡的數據,將原卡數據與刷卡后的數據進行對比。使用bcompare對兩次數據進行比對,如圖6所示。
對比兩次刷卡記錄發現有兩個區塊的數據變化,同一次刷卡中,上面數據一致。猜測是作為備份數據使用。其中紅色框左邊的0e06換算成十進制就是1550,右邊F005換算成十進制是1520。正好對應我的卡余額155以及刷卡后的152。說明這個位置是余額位。綠色框框表示的是余額的檢校位。兩次數據對比很容易發現校檢位的生成方式。
余額檢校位算法:OE+06=14f0+05=f5
修改余額200.0轉換十六進制:07D0倒序寫入0627檢校位2D
修改幾處數據,如圖7所示。
運行hfmfrestore命令,重新寫入白卡。再次刷卡后,余額成為197元。