Tuesday evening, 8 December 2015
“Open up! NOW!”
The door to Milo’s apartment groans and rattles in its frame. That’s too heavy to be someone knocking. It’s a ram. NOPD? State police? FBI?
Doesn’t matter. They’re on to him.
Heavy footsteps. More thumps.
“Come out with your hands up!”
Milo: Most people do not try to imagine the sound of their lives crashing to the ground, and find themselves unprepared when they hear it. Milo Glass, to his chagrin, is not most people. The best method of wiping a hard drive is cryptographic deletion. If one uses full disk encryption (which Milo does) one only needs destroy the key.
If they feel like busting down his door, assume his system has been compromised. Maybe they have cameras in the apartment? He hadn’t found any, but that means less than nothing when—
No time. Think.
Quách let him put up that clock in the hallway six months ago; she couldn’t be bothered. He didn’t tell her about the added camera in the minute-hand that streamed to his phone, but she didn’t enjoy details like that anyway.
Now he stares at the feed.
GM: The feed stares back.
It’s a single man. Average or so height, dressed in a drawn-up hoodie, cargo pants, combat boots, and backpack. A ski mask and sunglasses conceal his face. He’s holding a small battering ram that he’s bashing against Milo’s door.
Milo: Milo stares, puzzled.
GM: The ram hits again.
Milo: Then he calls out, puzzled. “Um. Hello?”
Milo: Milo gets up, somewhat bemused. He gathers the SD card and slips it in his pocket, not quite ready to take things to that step.
The apartment’s door bursts open. The masked figure strides inside.
Milo: For a second, he cannot breathe. For a second, a monster lurks behind those glasses, broken into his apartment to devour him and his life’s work. But Milo is not a little boy anymore, and the second passes. He frowns at the intruder.
“Are you… robbing me?”
Then he answers his own question. “No, that would be stupid. At 10 PM?”
GM: The masked intruder tosses the ram aside, stomps up to Milo’s desk, and grabs his phone.
Milo: Milo decides that he should probably do the obvious and starts to yell, for what it’s worth.
“HELP! SOMEBODY HELP ME!”
GM: The intruder slugs Milo in the face as he starts yelling.
Milo: Whump goes the fist, and crack goes his nose. Milo ends up on his ass. His lip feels wet.
“Ow! Fuck! You aren’t a cop! HELP! HELP!”
GM: The intruder grabs Milo by the collar of his shirt, and half-yanks, half-throws him into the bed. His weight bears down on the short man.
Milo: The sheer impossibility of the situation wells in his throat like vomit. He does not break. But he does not scream. For the moment .
GM: Milo’s throat burns worse as the man wraps his gloved hands around it and chokes him.
Milo: This doesn’t make any sense. He’s imagined his death a hundred times, his arrest a hundred more. But this? Getting choked out by some bastard in a ski mask with a battering ram he bought from his local Herrick’s? Milo is scared of a lot of things. He’s never been scared of bad luck before. But bad luck never broke into his apartment with a bad policeman impersonation and started kicking his ass.
I’m not resisting, he thinks as he wheezes and his neck purples. I’mnotI’mnotI’mnot…
GM: Milo’s neck burns and throbs. Black pinpoints blossom across his rapidly tunneling vision. The masked intruder leans towards his face and whispers, so close he see a mouth moving against the ski mask’s fabric.
“I’m not real.”
GM: Blackness engulfs his sight.
Wednesday night, 9 December 2015, AM
GM: The blackness recedes.
He’s lying on his bed. His throat burns. The man isn’t there.
Milo: “Urgh…” His mouth tastes like roadkill and his head feels like roadkill run over.
He slides out of his bed, rubbing his throat and checking his phone for the time.
Milo: His gaze trails its way over to his doorway.
GM: The broken door lies exposed to his apartment’s hallway.
Milo: “Shit.” He doesn’t normally swear. But there’s a first for everything. At the sound of slight, cautious padding over his floor, he mutters, “Some help you were,” before glancing over his shoulder at the source of his noise.
GM: The big-earned tabby cat looks at him with that noncomprehending yet all-knowing expression only felines quite have.
Milo: Milo pads around his apartment, barefoot. His throat doesn’t burn quite so much. He gathers his thoughts, meditating for a few, quiet minutes. His pulse becomes a slow drum to punctuate his thoughts, shallow breaths the white noise into which a world too complicated to understand fades. His mind hums.
Everything either is, or isn’t. Ones and zeroes.
He has been compromised. That is a One. But by the feds, or some related conspiracy, or a third party? Tarh Andishan? Is this some elaborate sting? Too many possibilities. But either this was the work of The Powers That Be or somebody like him. He isn’t sure which is worse. He needs to know more.
The first thing he does is comb his apartment. It isn’t large because it doesn’t need to be. Unpainted and unfurnished walls. He doesn’t let workmen in here. Old furniture from yard sales that are still made out of slavery and exploitation, but at least didn’t earn money for the taskmasters when he bought them. Mom gave him the bookshelf, and when he started putting old Ramen containers up there instead of books she gave him the Kindle, which he doesn’t use that much but tries to. They surround the spot where the television should go but doesn’t because television is both obsolete and a propaganda box and also Milo doesn’t like Nickelodeon anymore. A litter box for Toto lays outside the bathroom, which is tiny but he doesn’t take much space. His kitchenette and small dining area are likewise spartan. The adjoining bedroom he hasn’t slept in for a few days. He falls asleep on the futon most nights, or mornings.
GM: Milo observes a number of irregularities in his apartment.
First, the mirror in his bathroom has been shattered. Dozens of splintered reflections stare up at him from the white tile floor.
Milo: He wasn’t using it anyway. He makes sure not to step on the glass, barefoot as he is.
GM: His refrigerator and pantry (such as it is) have been partly ransacked. Some of the leftover pizza and assorted bags of snack food have been eaten from.
Milo: Sloppy. Unless they know he would never, ever call the cops in this. In which case they’re leaving a message. Them eating his pizza is their way of telling him he’s screwed and there’s nothing he can do about it. Their way of telling him they know him inside and out. Already, the ‘he’ has become a ‘them’.
He hates going to the store.
GM: An inspection of his cupboards reveals that one of his bowls is missing. They’re white, ceramic, and unexpensive, with “Dishwasher, Microwave & Oven Safe—Made in China” printed on the underside.
Milo: Blackmail material. He knew he should have made a habit of erasing his purchase history. He isn’t sure what’s incriminating about that bowl—maybe it’s just to get a DNA sample—but he’s on his toes, all right. He continues his examination, separating his screeching paranoia from his rational mind—except, it isn’t paranoia if he’s right.
GM: The last immediately apparent ‘clue’ is a series of light, several-inch slash marks made on the section of wall adjacent to his door.
Milo: Not the right shape for a knife. Probably they used bowl fragments. Bearing against the tide of thoughts that threaten to distract him, he turns back time through his clock’s eye.
GM: The nanny cam shows nothing happening. Milo rewinds back to when the intruder broke into his house. Perhaps five minutes later, the man departs, wearing a backpack and carrying no items in his hands.
The relevant footage ends there, but Milo’s inspection of his domicile does not. Several minutes of further searching reveal a tiny camera bug at the bottom of one of his kitchen cabinets, perpendicular to his apartment’s doorway. The vantage point is unsuitable for anything except capturing his feet while he’s busying about the kitchen… or monitoring his comings and goings from his apartment.
And someone on the other end is seeing it all.
He’s being watched.
Milo: Watching him. Recording. Maybe broadcasting. His apartment spins and constricts. He feels like he’s drowning, and he needs to open his mouth, and breathe, breathe…
He clamps down on the panic attack before it comes into its own.
GM: The tiny camera stares blankly ahead at his feet.
Milo: It’s bad, all right. But at the same time, almost satisfactory. Now he knows the game they are playing, or at least some of the rules.
And it’s his turn.
And yet, a nasty voice whispers somewhere from the back room of his mind, what if he’s meant to find the camera? Misdirection, perhaps? If they’re watching, they might also be listening. He’ll be careful when he speaks. He grabs the dustpan he so rarely uses, a towel, and starts to the bathroom. He doesn’t want Toto to cut his feet. He pats his pocket as he walks, making sure the SD card is still there.
GM: His attacker does not appear to have taken it. Toto, meanwhile, wanders out of the apartment’s open door.
Milo: He immerses himself in the simple task, broken glass singing an ugly song as it scrapes along linoleum. Little pieces of him seem to litter the floor as he sweeps the mirror up. What the hell is happening? Somebody breaks into his apartment. They tried to lure him out by impersonating SWAT—and would have succeeded if he hadn’t checked the camera. That means they know who he is, and what he does.
A dozen Milos stare, just as confused as he is, as he dumps them into the trash. They knock him out. They whisper his name, to let him know they know him. This is about him personally. They tell him they are not real, but leave evidence all over the place to suggest they are.
Are they trying to intimidate him? But then why not tell him why? Or actually threaten him? Did the intruder get into his system? Milo finds that unlikely, given that he has the SD and the intruder was only present for about five minutes.
Are they actually attempting to surveil him? It’s almost certainly not their primary agenda, as they could have tried to bug the apartment while he was away. It’s his fault. He’s never understood people that well.
A bit of him is leaking. Red trickling over the last of the shards. His own gray eye stares back, and the blood sliding over it makes him look angry.
He dumps it with the rest of its kin and carries on. He sucks at his finger, and takes a seat out of the camera’s line of sight, in his living room. The hairs on the back of his neck stand up. He called for help. His neighbors aren’t that far away, they should have heard him. Not to mention all the ruckus the battering ram made.
And where was that damn thing anyway? He hadn’t been carrying it when he left. He approaches his shattered doorway, poking his head into the hall.
GM: You get what you pay for, and sometimes less if you’re being ripped off. Milo and his fellow tenants aren’t being ripped off (as far as they know), but they aren’t getting a lot either. The gray-carpeted floor isn’t so dirty as to be filthy, but still has noticeable amounts of crud over it. Mrs. Quách doesn’t like coming out to vacuum. Or seemingly much else. The apartment doors don’t have numbers on them. Milo once overheard a neighbor speculating Mrs. Quách does that to save on property taxes or something, but Milo never asked his neighbor exactly how. He didn’t find out the man’s name either before he left. Turnover among tenants is pretty high. The fact that residents have private bathrooms is all that saves this place from being called a dump.
Toto continues to pad down the empty hallway. Music (past the allowed hours of 10 PM) booms from one of the units, but otherwise, there is no sign of life within the apartment complex’s second floor.
Milo: Music. That explains some of it. Milo walks down the hall, grateful for the carpet as opposed to tiling on his bare soles. He knocks, timidly at first, and then a little louder.
GM: Music plays, but no one answers.
GM: Music pounds.
Milo: Milo shifts awkwardly. Safe bet they didn’t hear the battering ram, then. He moves instead to his next door neighbor’s unit, and knocks there.
GM: “Yeah, what?” answers a young-sounding woman’s voice through the closed door.
Milo: He’s so momentarily surprised that he’s being answered that it takes him a moment to remember why he’s here.
“Um. You aren’t asleep, right?”
Then he realizes she probably isn’t.
“It’s me. Uh. Milo. From next door. My apartment got broken into.”
Wow, that sounds really lame. I should walk away. But wait, I told her my name. Shit.
GM: There is no response.
Milo: “Um. Have a good night,” he calls. He scoops up Toto as he heads back to his room.
GM: The tabby mews in his arms.
His neighbor’s door stares at him impassively.
Milo: I kind of wish he’d come back and murder me now.
GM: Toto mews again and squirms. He’s never liked being held.
Milo: They have that in common. Milo gently punts him into the apartment and tries to shut his door.
GM: The door closes, though the security chain is busted. Toto flops out of his arms and pads away into the bedroom.
Milo: Milo glances at the futon he was smothered into just a few hours ago. Somehow, he doesn’t think he’ll be getting much sleep tonight.
Wednesday night, 9 December 2015, AM
Milo: Milo’s setup gobbles most of his attention, and it shows. The rest of the apartment is colorless by contrast, unpainted plaster and dreary furniture leeched of their vitality by the desktop he’s built from scratch, and the faint but constant whir of its fans.
Milo: The first thing he does is check everything. He runs every cleaning program he knows. They must have broken in. Somehow.
GM: Milo’s built his computer from scratch and knows every file as if he’d crafted it with his own code. He can find no evidence that the device was tampered with while he was unconscious.
Milo: He feels like crying, though he’s not sure whether from relief or frustration. He’s been compromised. Not through his computer. But how? Or who?
He can’t sit on this, tempting as it might be. He opens his modded-to-hell-and-back Metasploit file and gets to work. There are reasons he’ll never install that clock camera, or any other camera, inside his home. He doesn’t even have a webcam.
Reason number one is that he doesn’t like looking at his own face that much. Reason number two is that wireless cameras you can get off eBay are typically as secure as soda pop cans. A small ghost of a smile haunts his face for the first time tonight.
He’ll show them what resistance looks like.
GM: Remotely accessing a webcam is a more complex process than using Metasploit to view the camera feed from his own computer. First he must use a GUI Port scanner to figure out the camera’s IP address. Firing up Angry IP Scanner, he chooses a very limited IP range—the camera is in his apartment—and adds the requisite ports for the program to scan from Tools > Preferences > Port. Then comes Tools > Fetchers > add (<<)> Kali Linux → Password Attacks → Offline Attacks → hashcat
kali > hashcat options hashfile mask|wordfiles|directories
Milo scans further down the screen and enables the options that will apply capitalization rules, special characters, word combinations, appended and prepended numbers, and so on to his worldlist file. Each of these will help him to break passwords that have been made more complex to avoid dictionary attacks.
The next stanza shows custom character sets. This would enable Milo to set the character set that he wants to use to crack the password. Since he has no clue who set the camera, however, he is similarly ignorant of any password policies that he could use to choose a character subset (“all-numeric”) and speed up his cracking.
The next screen includes some of the more obscure options, including the output file type, the debug mode and the built-in character sets. More relevant to Milo is the hash he’s trying to crack and the wordlist file he’s using. He goes with sqlmap, which has over a million different words and hybrid words. If, in fact, the webcam’s IP address has recognized a word for its password, it’s just a matter and letting the program enter password after password after password (a “brute force attack”) until one finally logs him in. The password might simply use a random string of letters and numbers, but that would take Milo even longer to crack, and he opens with a standard wordlist.
Milo grabs his hashes from the /etc/shadow file, head /etc/login.defs to view what encryption type the camera is using, and gets to work on the actual cracking.
kali > hashcat -m 1800 -a 0 -o cracked.txt —remove hash.lst /usr/share/sqlmap/txt/wordlist.txt
The program runs, cycling through thousands of potential passwords. There’s not much for Milo to do at this point except sit back and wait. There’s nothing particularly sophisticated about a brute force attack, but it gets the job done.
Several hours pass.
Finally a cracked.txt file appears. He opens it.
Milo: His apartment is momentarily silent, except for the whirring of the fan.
Waves crash along the dam of his sanity, already groaning after tonight. They know about Mal. Maybe they’re the ones who took him. Maybe they’re just fucking with him. And worse, they know he’s breaking in. They’re coming for him. Personally. And they’ve danced a step ahead. He wants to scream but can’t open his mouth.
Stupid. Stupid, stupid…
He should regroup. Think. He should start typing. But he can’t move. Can’t think. Can’t even breathe. The dam breaks. He doesn’t realize the attack is riding him until he’s on the floor, writhing. Somewhere his cat’s claws are scrabbling. The light from his monitor is making him blind, he can’t see anything, but he can hear, the computer’s fan is spinning
And so is the room (or him?)
He has to get up getupgetup
But he can’t. He gasps for air that doesn’t come. They’ve poisoned his apartment. The vents, he should have checked the vents, why didn’t he check the vents?
The world goes black as a power outage.