Chapter 32
When Andy hangs up, he walks a circle around his apartment, unsure of what to do first, and feeling like he should be doing everything at once—programming, dressing, driving to Boston like a bat out of hell. Or maybe just texting Jessica and telling her to get as far from the theater as fast as she can.
But Len’s right. Len doesn’t even know Jessica, and he’s right. She’s not likely to leave the theater quietly, and God knows, neither is Gavin if she suddenly declares they’re leaving before the show starts. And what about the others? All those other kids and parents?
It’s a nightmare. And this guy he’s never met has put him squarely in the middle of it, the only one who can do anything about it. But that’s not exactly true, is it? He put himself in it weeks ago when he got involved with Jessica, or maybe long before that when he started caring for Gavin, a sweet, bright student with a knack for tech. In any case, he certainly cemented his place at the center of this situation the minute he sent that email to Len Lemarchand.
He should have gone with her to the event. He said he would, but then she never followed up about a ticket for him and he assumed she’d changed her mind. Then, a week ago, some cop pulled him over for an expired inspection sticker. After a verbal warning, this goon, Officer Gallo, gave him “a piece of friendly advice: Stay clear of Jessica Ritter,” he’d said. “I served with her husband. You don’t want to piss on his tree.”
Andy glances at the kitchen clock: 2:42pm. Gavin and Jessica are probably already seated. He looks at his phone on the counter. Is he really thinking of calling the police? Really thinking he can stay out of this?
No.
Len promised to call the FBI after giving Andy a head start. It’s the right strategy; he knows this. Even in times of stress, his ability to recognize sound logic is typically unimpaired. A bomb squad on backup may not save them all, but it also won’t trigger this psycho early.
And what exactly is early? Will Dave want to play with his audience for a while?
Computer camp wrapped up a week ago, so Andy was slumming around the apartment in his pajamas when Len called. Now he runs to the bedroom, kicks off his flannels, and pulls on underwear and jeans, nearly tripping and falling on his face in the process, not bothering to change yesterday’s funky t-shirt. He doesn’t waste time on socks, either, stuffing his feet bare into his sneakers while flipping his laptop lid open with a silent prayer that there will be plenty of battery life, even though it’s been unplugged since yesterday.
The battery is at seventy percent and that’ll have to do. He could dig out the charger and plug it in for the two minutes it’s going to take him to write this bit of code, but even that would waste precious seconds.
The machine at hand is his teaching laptop. He has the Wi-Fi jammer program loaded on it, the one he’s been tweaking to locate student phones and tablets and knock them off the school network. It works by exploiting an old vulnerability of the de-authentication frames in the 802.11 Wi-Fi protocol. These frames, usually used to close a Wi-Fi connection safely, are unencrypted, making it easy to spoof them after sniffing out the access point. Andy sits at the edge of his office chair and types with clumsy nervous fingers, dashing off a small modification to the program—a Python script loop that should enable him to bombard the theater’s Wi-Fi router with enough rapid-fire junk connections to bump all other devices off and prevent them from reconnecting. There’s nothing sophisticated about the code—any hacker could do it—but there’s no way for him to test it. If it works, he will be able to view a list of all the connected tablets in the theater and watch them all fall off the network as they’re deauthenticated by his attack. Any remaining connections should appear on a red list of their own, which he’s hoping will drop to zero fast.
The code written, Andy scans it carefully for typos, then slaps the laptop closed and shoves it into its leather bag. He grabs his phone, glasses, and keys, and without burning another minute, he’s out the door, ducking into his car beneath a sky that threatens rain with his heart beating like a fist on a door and the nagging feeling that he’s missing more than socks.
Andy races down I-95, pushing his ten-year-old Camry as hard as the troubled engine and afternoon traffic will allow. He’s not a daring driver by nature, but today he’s making tight lane changes and gunning for gaps he would normally consider too risky, threading his way toward the city in a white heat. His phone talks to him from a clamp on the dashboard, advising him of potholes, cars in the breakdown lane, and police ahead. It’s a crowd-sourced traffic app that he has lately become enamored with. He doesn’t need the GPS to find the venue, but the advance warning of any cruisers spotted by other drivers gives him the confidence to fly today.
What the app can’t warn him of is whether or not his engine will fail on this mad crusade. His eyes tick back and forth between the speedometer and the illuminated engine icon and MAINT REQD indicator, as if these warning lights might suddenly decide everything is okay and go dark of their own accord. The engine is knocking like there’s a troop of gnomes with mallets under the hood. After Jessica’s diagnosis of the noise, he only took her advice as far as pouring a couple of fresh quarts of oil into it. Now, hearing how bad it sounds after being pushed hard, his mouth goes dry with the realization that his negligence could cost them everything.
By the time he’s winding off the Tobin Bridge onto Storrow Drive, lunchtime traffic has thinned out, the sky has let loose with the kind of downpour that makes everyone forget how to drive, and the steering wheel is shuddering in his hands like a child having a seizure. He gets jammed up for a frustrating five minutes at the traffic lights near Fenway and sits staring at the numbers on the dashboard radio clock, beating the heel of his hand against the wheel and whispering, “Come on, come on, COME ON, MOTHERFUCKER!” By the time the car in front of him starts to crawl forward, he’s shouting, “Find the pedal! It’s the one on the right.”
He gooses his own gas pedal and swerves through the next intersection just as the light turns red.
Scanning the parking meters on Boylston Street, he feels dread spreading through his nerves like cold rain through a cheap jacket. If anything is going to stop him from saving lives today, it looks like it’s going to be Boston parking, but then he spots the parking garage sign beyond the Performance Center across Mass Ave. He rolls in, swipes a ticket from the auto feeder at the gate, and climbs the ramps in a long spiral up the levels, past spaces crammed with what must be every Mommy Mobile minivan in Massachusetts. The more levels up he drives, the more time it’s going to take him to reach the street. He’s almost ready to just ditch the car, leave it illegally parked in some wedge that isn’t a spot, when he finds a vacancy and slams into it with a screech that echoes off the concrete ceiling. A moment later, he’s jogging down the ramp with the laptop bag flapping against his hip.
When he reaches Mass Ave., there are no kids on the street, just some Berkeley students with instrument bags slung over their shoulders, milling around the entrance to the main college building and sucking on vaporizers beneath the shelter of the overhang. Andy slows to a walk as he approaches the entrance to the theater. He knows how he looks—frantic, wet, and wild-eyed. He runs his fingers through his hair, slows his breathing, and tries to tone down the urgency he’s radiating as he enters the lobby.
A blue-haired girl with glasses and piercings looks up from the phone she’s reading at the t-shirt table. The lobby is otherwise empty, the patrons having all taken their seats. Andy can hear the familiar cadence of Dave’s incessant chatter—amplified but muffled by the closed theater doors.
A tall, heavyset usher stands sentinel beyond the velvet ropes with the orchestra section doors at his back. Andy ambles over to the merch table and settles his gaze on the loud shirts and hats. The emo girl stares at him expectantly, her only customer. He slips his phone out of his pocket and checks the time: 3:14. There’s a text alert from Len that came through while he was driving—a short, menacing single line: Expect detonation at 3:33.
Andy read this already when it flashed on his traffic app. Seeing it again sends a bolt of sickening fear through his core as he recalls the number’s resonance with his Choronzon research.
He drops the phone back into his pocket, resisting the temptation to text Jessica. Only if you can’t shut it down, he thinks. He wishes it was the phone that was armed with the jamming app rather than the cumbersome and conspicuous laptop, but beggars can’t be choosers. He smiles at the salesgirl and takes the laptop from the bag, sets it on the black cloth draped table, and opens the lid.
Looking at the screen and initiating the program, he tells her, “My nephew is a huge fan, but he couldn’t make the event. I thought I’d at least duck in and buy him a shirt, but I can’t remember his size. Got it here somewhere in an email.”
She nods and turns back to her phone.
On Andy’s screen, the jammer program has identified the BPC network and several others within a block of the theater with varying degrees of signal strength and security. Among them is one named RDX3. Andy clicks on it and is instantly provided with a scrolling list of devices connected or trying to connect. He knows the general audience without lizard docks were also allowed to bring tablets for game play, and judging by the number of them, this has to be the right network. He feels a brief rush of exhilaration that he’s connected, a small victory tainted instantly by the knowledge that Dave is running the network from his own router, possibly on stage with the rest of his gear.
“Any luck?” the blue-haired girl asks without looking up from her screen. Andy stares transfixed at his attack in progress, watching the list of mobile devices cascading down from the top partition of the stark black code window to the bottom, trickling from green ID lines to red.
“I might need to text his mom and make sure.”
The list of connected devices has thinned rapidly, but some are still hanging on. Through the doors, Andy hears what might be a collective moan of disappointment from the crowd. He drums his fingers on the plastic and watches the remaining devices fall off.
But what about that number three in the network name? RDX3. To serve a crowd this size, Dave would need to provide multiple Wi-Fi access points. Andy suspects he might have only taken out the balcony, the seats he’s physically closest to. There could be another router at the soundboard and likely one on the stage, for the orchestra seats. If there are, he’s not close enough for his computer to sniff them. He cradles the laptop in the crook of his arm and wanders toward the usher. A network named RDX2 appears, but when he tries connecting to it, he gets an error message. The signal is too weak in the lobby; it’s blinking in and out. He needs to get inside the theater, get a line of sight so he can latch on to the access point long enough to launch his attack.
Gripping the laptop as tightly as he can with the lid open, Andy strides briskly toward the left balcony stairs, flashing what he hopes is more an easy smile than a nervous grin at the giant and remembering that if you act like you belong, people usually assume that you do.
Not in this case.
The usher—Andy can’t help thinking of him as ‘the bouncer’—holds up a large hand, fingers splayed. “Sir, you have a ticket?”
Andy points at his laptop screen and speaks quietly enough to maybe go unheard by the merchandise girl he just gave a different story to—not that she seems like the type to care. “S’cuse me, I’m on Dave’s team, troubleshooting the network. I need to go up to the balcony and make sure the kids with tablets up there are getting a signal.” He jabs a finger at the arcane window of code and IP addresses scrolling down his screen. “Looks like a bunch of them are having trouble.” Andy moves past the guy as he talks, rotating to keep eye contact while walking backward toward the stairs.
“You got a crew pass?”
“Pass? Nobody gave me one. Sorry, it’s been a little chaotic. First date of the tour. Dave’ll kill me if I don’t get those tablets back on. Just need a minute up there.”
“Sir.”
“Just need a minute. Really, I’m not a fan crashing the cheap seats. I look like a fan?” Andy trots up the stairs like he can’t hear the guy calling after him, a work study student debating whether to leave his post and break a sweat for his hourly wage.